summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Shalayeff <mickey@cvs.openbsd.org>2001-08-17 22:26:59 +0000
committerMichael Shalayeff <mickey@cvs.openbsd.org>2001-08-17 22:26:59 +0000
commit5f794f8c1c7a349faa97c6ef092a96fcf48ca094 (patch)
treee2511d92dc642fc35e0925f4f7f3681fafc8f75f
parent0c3296d28b7e353e842dc384702aebc7653387c5 (diff)
provide a way to get the number used for irq line, not only a string
representation, this is needed for devices like cbb which pass the interrupt line down to the cardbus attachment and not getting the right line before pci_intr_map() has done it's dirty deed. tested on i386 by jason@, compiles on alpha by art@. ppc and mveppc are to be test-compiled, but should work (;
-rw-r--r--sys/arch/alpha/pci/pci_2100_a50.c12
-rw-r--r--sys/arch/alpha/pci/pci_550.c17
-rw-r--r--sys/arch/alpha/pci/pci_6600.c19
-rw-r--r--sys/arch/alpha/pci/pci_axppci_33.c12
-rw-r--r--sys/arch/alpha/pci/pci_eb164.c12
-rw-r--r--sys/arch/alpha/pci/pci_kn20aa.c12
-rw-r--r--sys/arch/alpha/pci/pci_machdep.h5
-rw-r--r--sys/arch/alpha/pci/pci_up1000.c10
-rw-r--r--sys/arch/alpha/pci/sio.c3
-rw-r--r--sys/arch/alpha/pci/sio_pic.c10
-rw-r--r--sys/arch/alpha/pci/siovar.h3
-rw-r--r--sys/arch/i386/pci/pci_machdep.h3
-rw-r--r--sys/arch/mvmeppc/pci/mpcpcibr.c12
-rw-r--r--sys/arch/mvmeppc/pci/pci_machdep.h5
-rw-r--r--sys/arch/mvmeppc/pci/raven.c12
-rw-r--r--sys/arch/powerpc/pci/mpcpcibus.c13
-rw-r--r--sys/arch/powerpc/pci/pci_machdep.h3
17 files changed, 146 insertions, 17 deletions
diff --git a/sys/arch/alpha/pci/pci_2100_a50.c b/sys/arch/alpha/pci/pci_2100_a50.c
index a3c932b3db5..955be86cb90 100644
--- a/sys/arch/alpha/pci/pci_2100_a50.c
+++ b/sys/arch/alpha/pci/pci_2100_a50.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: pci_2100_a50.c,v 1.13 2001/06/25 21:49:40 csapuntz Exp $ */
+/* $OpenBSD: pci_2100_a50.c,v 1.14 2001/08/17 22:26:58 mickey Exp $ */
/* $NetBSD: pci_2100_a50.c,v 1.12 1996/11/13 21:13:29 cgd Exp $ */
/*
@@ -55,6 +55,7 @@
int dec_2100_a50_intr_map __P((void *, pcitag_t, int, int,
pci_intr_handle_t *));
const char *dec_2100_a50_intr_string __P((void *, pci_intr_handle_t));
+int dec_2100_a50_intr_line __P((void *, pci_intr_handle_t));
void *dec_2100_a50_intr_establish __P((void *, pci_intr_handle_t,
int, int (*func)(void *), void *, char *));
void dec_2100_a50_intr_disestablish __P((void *, void *));
@@ -80,6 +81,7 @@ pci_2100_a50_pickintr(acp)
pc->pc_intr_v = acp;
pc->pc_intr_map = dec_2100_a50_intr_map;
pc->pc_intr_string = dec_2100_a50_intr_string;
+ pc->pc_intr_line = dec_2100_a50_intr_line;
pc->pc_intr_establish = dec_2100_a50_intr_establish;
pc->pc_intr_disestablish = dec_2100_a50_intr_disestablish;
@@ -220,6 +222,14 @@ dec_2100_a50_intr_string(acv, ih)
return sio_intr_string(NULL /*XXX*/, ih);
}
+const char *
+dec_2100_a50_intr_line(acv, ih)
+ void *acv;
+ pci_intr_handle_t ih;
+{
+ return sio_intr_line(NULL /*XXX*/, ih);
+}
+
void *
dec_2100_a50_intr_establish(acv, ih, level, func, arg, name)
void *acv, *arg;
diff --git a/sys/arch/alpha/pci/pci_550.c b/sys/arch/alpha/pci/pci_550.c
index eee5dfc0807..6dfe22aa2db 100644
--- a/sys/arch/alpha/pci/pci_550.c
+++ b/sys/arch/alpha/pci/pci_550.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: pci_550.c,v 1.4 2001/06/25 22:02:07 csapuntz Exp $ */
+/* $OpenBSD: pci_550.c,v 1.5 2001/08/17 22:26:58 mickey Exp $ */
/* $NetBSD: pci_550.c,v 1.18 2000/06/29 08:58:48 mrg Exp $ */
/*-
@@ -98,6 +98,7 @@
int dec_550_intr_map __P((void *, pcitag_t, int, int,
pci_intr_handle_t *));
const char *dec_550_intr_string __P((void *, pci_intr_handle_t));
+int dec_550_intr_line __P((void *, pci_intr_handle_t));
const struct evcnt *dec_550_intr_evcnt __P((void *, pci_intr_handle_t));
void *dec_550_intr_establish __P((void *, pci_intr_handle_t,
int, int (*func)(void *), void *, char *));
@@ -146,6 +147,7 @@ pci_550_pickintr(ccp)
pc->pc_intr_v = ccp;
pc->pc_intr_map = dec_550_intr_map;
pc->pc_intr_string = dec_550_intr_string;
+ pc->pc_intr_line = dec_550_intr_line;
#if 0
pc->pc_intr_evcnt = dec_550_intr_evcnt;
#endif
@@ -289,6 +291,19 @@ dec_550_intr_string(ccv, ih)
return (irqstr);
}
+int
+dec_550_intr_line(ccv, ih)
+ void *ccv;
+ pci_intr_handle_t ih;
+{
+#if NSIO
+ if (DEC_550_LINE_IS_ISA(ih))
+ return (sio_intr_line(NULL /*XXX*/, DEC_550_LINE_ISA_IRQ(ih)));
+#endif
+
+ return (ih);
+}
+
#if 0
const struct evcnt *
dec_550_intr_evcnt(ccv, ih)
diff --git a/sys/arch/alpha/pci/pci_6600.c b/sys/arch/alpha/pci/pci_6600.c
index f875d9da4a9..69e3e9e9ffc 100644
--- a/sys/arch/alpha/pci/pci_6600.c
+++ b/sys/arch/alpha/pci/pci_6600.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: pci_6600.c,v 1.4 2001/06/25 22:02:08 csapuntz Exp $ */
+/* $OpenBSD: pci_6600.c,v 1.5 2001/08/17 22:26:58 mickey Exp $ */
/* $NetBSD: pci_6600.c,v 1.5 2000/06/06 00:50:15 thorpej Exp $ */
/*-
@@ -81,6 +81,7 @@ void dec_6600_intr_disestablish __P((void *, void *));
void *dec_6600_intr_establish __P((
void *, pci_intr_handle_t, int, int (*func)(void *), void *, char *));
const char *dec_6600_intr_string __P((void *, pci_intr_handle_t));
+int dec_6600_intr_line __P((void *, pci_intr_handle_t));
const struct evcnt *dec_6600_intr_evcnt __P((void *, pci_intr_handle_t));
int dec_6600_intr_map __P((void *, pcitag_t, int, int, pci_intr_handle_t *));
void *dec_6600_pciide_compat_intr_establish __P((void *, struct device *,
@@ -107,6 +108,7 @@ pci_6600_pickintr(pcp)
pc->pc_intr_v = pcp;
pc->pc_intr_map = dec_6600_intr_map;
pc->pc_intr_string = dec_6600_intr_string;
+ pc->pc_intr_line = dec_6600_intr_line;
#if 0
pc->pc_intr_evcnt = dec_6600_intr_evcnt;
#endif
@@ -211,6 +213,21 @@ dec_6600_intr_string(acv, ih)
return (irqstr);
}
+int
+dec_6600_intr_line(acv, ih)
+ void *acv;
+ pci_intr_handle_t ih;
+{
+
+#if NSIO
+ if (DEC_6600_LINE_IS_ISA(ih))
+ return (sio_intr_line(NULL /*XXX*/,
+ DEC_6600_LINE_ISA_IRQ(ih)));
+#endif
+
+ return (ih);
+}
+
#if 0
const struct evcnt *
dec_6600_intr_evcnt(acv, ih)
diff --git a/sys/arch/alpha/pci/pci_axppci_33.c b/sys/arch/alpha/pci/pci_axppci_33.c
index d70ccd19156..347df972105 100644
--- a/sys/arch/alpha/pci/pci_axppci_33.c
+++ b/sys/arch/alpha/pci/pci_axppci_33.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: pci_axppci_33.c,v 1.12 2001/06/25 21:49:42 csapuntz Exp $ */
+/* $OpenBSD: pci_axppci_33.c,v 1.13 2001/08/17 22:26:58 mickey Exp $ */
/* $NetBSD: pci_axppci_33.c,v 1.10 1996/11/13 21:13:29 cgd Exp $ */
/*
@@ -55,6 +55,7 @@
int dec_axppci_33_intr_map __P((void *, pcitag_t, int, int,
pci_intr_handle_t *));
const char *dec_axppci_33_intr_string __P((void *, pci_intr_handle_t));
+int dec_axppci_33_intr_line __P((void *, pci_intr_handle_t));
void *dec_axppci_33_intr_establish __P((void *, pci_intr_handle_t,
int, int (*func)(void *), void *, char *));
void dec_axppci_33_intr_disestablish __P((void *, void *));
@@ -81,6 +82,7 @@ pci_axppci_33_pickintr(lcp)
pc->pc_intr_v = lcp;
pc->pc_intr_map = dec_axppci_33_intr_map;
pc->pc_intr_string = dec_axppci_33_intr_string;
+ pc->pc_intr_line = dec_axppci_33_intr_line;
pc->pc_intr_establish = dec_axppci_33_intr_establish;
pc->pc_intr_disestablish = dec_axppci_33_intr_disestablish;
@@ -219,6 +221,14 @@ dec_axppci_33_intr_string(lcv, ih)
return sio_intr_string(NULL /*XXX*/, ih);
}
+int
+dec_axppci_33_intr_line(lcv, ih)
+ void *lcv;
+ pci_intr_handle_t ih;
+{
+ return sio_intr_line(NULL /*XXX*/, ih);
+}
+
void *
dec_axppci_33_intr_establish(lcv, ih, level, func, arg, name)
void *lcv, *arg;
diff --git a/sys/arch/alpha/pci/pci_eb164.c b/sys/arch/alpha/pci/pci_eb164.c
index 8cfd57180a0..93ad1a3a99c 100644
--- a/sys/arch/alpha/pci/pci_eb164.c
+++ b/sys/arch/alpha/pci/pci_eb164.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: pci_eb164.c,v 1.8 2001/06/25 22:02:08 csapuntz Exp $ */
+/* $OpenBSD: pci_eb164.c,v 1.9 2001/08/17 22:26:58 mickey Exp $ */
/* $NetBSD: pci_eb164.c,v 1.27 2000/06/06 00:50:15 thorpej Exp $ */
/*-
@@ -98,6 +98,7 @@
int dec_eb164_intr_map __P((void *, pcitag_t, int, int,
pci_intr_handle_t *));
const char *dec_eb164_intr_string __P((void *, pci_intr_handle_t));
+int dec_eb164_intr_line __P((void *, pci_intr_handle_t));
const struct evcnt *dec_eb164_intr_evcnt __P((void *, pci_intr_handle_t));
void *dec_eb164_intr_establish __P((void *, pci_intr_handle_t,
int, int (*func)(void *), void *, char *));
@@ -131,6 +132,7 @@ pci_eb164_pickintr(ccp)
pc->pc_intr_v = ccp;
pc->pc_intr_map = dec_eb164_intr_map;
pc->pc_intr_string = dec_eb164_intr_string;
+ pc->pc_intr_line = dec_eb164_intr_line;
pc->pc_intr_establish = dec_eb164_intr_establish;
pc->pc_intr_disestablish = dec_eb164_intr_disestablish;
@@ -256,6 +258,14 @@ dec_eb164_intr_string(ccv, ih)
return (irqstr);
}
+int
+dec_eb164_intr_string(ccv, ih)
+ void *ccv;
+ pci_intr_handle_t ih;
+{
+ return (ih);
+}
+
void *
dec_eb164_intr_establish(ccv, ih, level, func, arg, name)
void *ccv, *arg;
diff --git a/sys/arch/alpha/pci/pci_kn20aa.c b/sys/arch/alpha/pci/pci_kn20aa.c
index 199b93381fe..3a3f2531f9a 100644
--- a/sys/arch/alpha/pci/pci_kn20aa.c
+++ b/sys/arch/alpha/pci/pci_kn20aa.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: pci_kn20aa.c,v 1.12 2001/06/25 21:49:42 csapuntz Exp $ */
+/* $OpenBSD: pci_kn20aa.c,v 1.13 2001/08/17 22:26:58 mickey Exp $ */
/* $NetBSD: pci_kn20aa.c,v 1.21 1996/11/17 02:05:27 cgd Exp $ */
/*
@@ -61,6 +61,7 @@
int dec_kn20aa_intr_map __P((void *, pcitag_t, int, int,
pci_intr_handle_t *));
const char *dec_kn20aa_intr_string __P((void *, pci_intr_handle_t));
+int dec_kn20aa_intr_line __P((void *, pci_intr_handle_t));
void *dec_kn20aa_intr_establish __P((void *, pci_intr_handle_t,
int, int (*func)(void *), void *, char *));
void dec_kn20aa_intr_disestablish __P((void *, void *));
@@ -89,6 +90,7 @@ pci_kn20aa_pickintr(ccp)
pc->pc_intr_v = ccp;
pc->pc_intr_map = dec_kn20aa_intr_map;
pc->pc_intr_string = dec_kn20aa_intr_string;
+ pc->pc_intr_line = dec_kn20aa_intr_line;
pc->pc_intr_establish = dec_kn20aa_intr_establish;
pc->pc_intr_disestablish = dec_kn20aa_intr_disestablish;
@@ -189,6 +191,14 @@ dec_kn20aa_intr_string(ccv, ih)
return (irqstr);
}
+int
+dec_kn20aa_intr_line(ccv, ih)
+ void *ccv;
+ pci_intr_handle_t ih;
+{
+ return (ih);
+}
+
void *
dec_kn20aa_intr_establish(ccv, ih, level, func, arg, name)
void *ccv, *arg;
diff --git a/sys/arch/alpha/pci/pci_machdep.h b/sys/arch/alpha/pci/pci_machdep.h
index 49d25d81145..0bc4c544787 100644
--- a/sys/arch/alpha/pci/pci_machdep.h
+++ b/sys/arch/alpha/pci/pci_machdep.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: pci_machdep.h,v 1.14 2001/06/26 21:13:44 art Exp $ */
+/* $OpenBSD: pci_machdep.h,v 1.15 2001/08/17 22:26:58 mickey Exp $ */
/* $NetBSD: pci_machdep.h,v 1.6 1996/11/19 04:49:21 cgd Exp $ */
/*
@@ -63,6 +63,7 @@ struct alpha_pci_chipset {
int (*pc_intr_map) __P((void *, pcitag_t, int, int,
pci_intr_handle_t *));
const char *(*pc_intr_string) __P((void *, pci_intr_handle_t));
+ int (*pc_intr_line) __P((void *, pci_intr_handle_t));
void *(*pc_intr_establish) __P((void *, pci_intr_handle_t,
int, int (*)(void *), void *, char *));
void (*pc_intr_disestablish) __P((void *, void *));
@@ -101,6 +102,8 @@ int alpha_sysctl_chipset(int *, u_int, char *, size_t *);
(*(c)->pc_intr_map)((c)->pc_intr_v, (it), (ip), (il), (ihp))
#define pci_intr_string(c, ih) \
(*(c)->pc_intr_string)((c)->pc_intr_v, (ih))
+#define pci_intr_line(c, ih) \
+ (*(c)->pc_intr_line)((c)->pc_intr_v, (ih))
#define pci_intr_establish(c, ih, l, h, a, nm) \
(*(c)->pc_intr_establish)((c)->pc_intr_v, (ih), (l), (h), (a), (nm))
#define pci_intr_disestablish(c, iv) \
diff --git a/sys/arch/alpha/pci/pci_up1000.c b/sys/arch/alpha/pci/pci_up1000.c
index 6a1701d6d16..5422040842e 100644
--- a/sys/arch/alpha/pci/pci_up1000.c
+++ b/sys/arch/alpha/pci/pci_up1000.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: pci_up1000.c,v 1.4 2001/06/25 22:02:08 csapuntz Exp $ */
+/* $OpenBSD: pci_up1000.c,v 1.5 2001/08/17 22:26:58 mickey Exp $ */
/* $NetBSD: pci_up1000.c,v 1.6 2000/12/28 22:59:07 sommerfeld Exp $ */
/*-
@@ -68,6 +68,7 @@
int api_up1000_intr_map(void *, pcitag_t, int, int, pci_intr_handle_t *);
const char *api_up1000_intr_string(void *, pci_intr_handle_t);
+int api_up1000_intr_line(void *, pci_intr_handle_t);
const struct evcnt *api_up1000_intr_evcnt(void *, pci_intr_handle_t);
void *api_up1000_intr_establish(void *, pci_intr_handle_t,
int, int (*func)(void *), void *, char *);
@@ -86,6 +87,7 @@ pci_up1000_pickintr(struct irongate_config *icp)
pc->pc_intr_v = icp;
pc->pc_intr_map = api_up1000_intr_map;
pc->pc_intr_string = api_up1000_intr_string;
+ pc->pc_intr_line = api_up1000_intr_line;
#if 0
pc->pc_intr_evcnt = api_up1000_intr_evcnt;
#endif
@@ -159,6 +161,12 @@ api_up1000_intr_string(void *icv, pci_intr_handle_t ih)
return sio_intr_string(NULL /*XXX*/, ih);
}
+int
+api_up1000_intr_line(void *icv, pci_intr_handle_t ih)
+{
+ return sio_intr_line(NULL /*XXX*/, ih);
+}
+
#if 0
const struct evcnt *
api_up1000_intr_evcnt(void *icv, pci_intr_handle_t ih)
diff --git a/sys/arch/alpha/pci/sio.c b/sys/arch/alpha/pci/sio.c
index 980192fafcf..685099119a6 100644
--- a/sys/arch/alpha/pci/sio.c
+++ b/sys/arch/alpha/pci/sio.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: sio.c,v 1.22 2001/03/07 01:03:51 ericj Exp $ */
+/* $OpenBSD: sio.c,v 1.23 2001/08/17 22:26:58 mickey Exp $ */
/* $NetBSD: sio.c,v 1.15 1996/12/05 01:39:36 cgd Exp $ */
/*
@@ -179,6 +179,7 @@ sio_bridge_callback(v)
ec.ec_maxslots = sio_eisa_maxslots;
ec.ec_intr_map = sio_eisa_intr_map;
ec.ec_intr_string = sio_intr_string;
+ ec.ec_intr_line = sio_intr_line;
ec.ec_intr_establish = sio_intr_establish;
ec.ec_intr_disestablish = sio_intr_disestablish;
diff --git a/sys/arch/alpha/pci/sio_pic.c b/sys/arch/alpha/pci/sio_pic.c
index 255a104355f..c4f2442f705 100644
--- a/sys/arch/alpha/pci/sio_pic.c
+++ b/sys/arch/alpha/pci/sio_pic.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: sio_pic.c,v 1.17 2000/11/25 00:39:05 art Exp $ */
+/* $OpenBSD: sio_pic.c,v 1.18 2001/08/17 22:26:58 mickey Exp $ */
/* $NetBSD: sio_pic.c,v 1.28 2000/06/06 03:10:13 thorpej Exp $ */
/*-
@@ -444,6 +444,14 @@ sio_intr_string(v, irq)
return (irqstr);
}
+int
+sio_intr_line(v, irq)
+ void *v;
+ int irq;
+{
+ return (irq);
+}
+
#ifdef notyet
const struct evcnt *
sio_intr_evcnt(v, irq)
diff --git a/sys/arch/alpha/pci/siovar.h b/sys/arch/alpha/pci/siovar.h
index bf7a8bd50c0..30575c0c6db 100644
--- a/sys/arch/alpha/pci/siovar.h
+++ b/sys/arch/alpha/pci/siovar.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: siovar.h,v 1.8 2000/11/08 16:01:22 art Exp $ */
+/* $OpenBSD: siovar.h,v 1.9 2001/08/17 22:26:58 mickey Exp $ */
/* $NetBSD: siovar.h,v 1.5 1996/10/23 04:12:34 cgd Exp $ */
/*
@@ -32,6 +32,7 @@ void sio_intr_setup __P((pci_chipset_tag_t, bus_space_tag_t));
void sio_iointr __P((void *framep, unsigned long vec));
const char *sio_intr_string __P((void *, int));
+int sio_intr_line __P((void *, int));
void *sio_intr_establish __P((void *, int, int, int, int (*)(void *),
void *, char *));
void sio_intr_disestablish __P((void *, void *));
diff --git a/sys/arch/i386/pci/pci_machdep.h b/sys/arch/i386/pci/pci_machdep.h
index a3769766052..64adaecff05 100644
--- a/sys/arch/i386/pci/pci_machdep.h
+++ b/sys/arch/i386/pci/pci_machdep.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: pci_machdep.h,v 1.7 2001/01/27 04:59:40 mickey Exp $ */
+/* $OpenBSD: pci_machdep.h,v 1.8 2001/08/17 22:26:58 mickey Exp $ */
/* $NetBSD: pci_machdep.h,v 1.7 1997/06/06 23:29:18 thorpej Exp $ */
/*
@@ -89,6 +89,7 @@ void pci_conf_write __P((pci_chipset_tag_t, pcitag_t, int,
pcireg_t));
int pci_intr_map __P((pci_chipset_tag_t, pcitag_t, int, int,
pci_intr_handle_t *));
+#define pci_intr_line(ih) ((ih).line)
const char *pci_intr_string __P((pci_chipset_tag_t, pci_intr_handle_t));
void *pci_intr_establish __P((pci_chipset_tag_t, pci_intr_handle_t,
int, int (*)(void *), void *, char *));
diff --git a/sys/arch/mvmeppc/pci/mpcpcibr.c b/sys/arch/mvmeppc/pci/mpcpcibr.c
index a268f777d5c..1d8aecc3ddd 100644
--- a/sys/arch/mvmeppc/pci/mpcpcibr.c
+++ b/sys/arch/mvmeppc/pci/mpcpcibr.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: mpcpcibr.c,v 1.2 2001/07/06 05:14:31 smurph Exp $ */
+/* $OpenBSD: mpcpcibr.c,v 1.3 2001/08/17 22:26:58 mickey Exp $ */
/*
* Copyright (c) 2001 Steve Murphree, Jr.
@@ -70,6 +70,7 @@ void mpc_conf_write __P((void *, pcitag_t, int, pcireg_t));
int mpc_intr_map __P((void *, pcitag_t, int, int, pci_intr_handle_t *));
const char *mpc_intr_string __P((void *, pci_intr_handle_t));
+int mpc_intr_line __P((void *, pci_intr_handle_t));
void *mpc_intr_establish __P((void *, pci_intr_handle_t,
int, int (*func)(void *), void *, char *));
void mpc_intr_disestablish __P((void *, void *));
@@ -189,6 +190,7 @@ addbatmap(RAVEN_V_PCI_MEM_SPACE, RAVEN_P_PCI_MEM_SPACE, BAT_I);
lcp->lc_pc.pc_intr_v = lcp;
lcp->lc_pc.pc_intr_map = mpc_intr_map;
lcp->lc_pc.pc_intr_string = mpc_intr_string;
+ lcp->lc_pc.pc_intr_line = mpc_intr_line;
lcp->lc_pc.pc_intr_establish = mpc_intr_establish;
lcp->lc_pc.pc_intr_disestablish = mpc_intr_disestablish;
@@ -543,6 +545,14 @@ pci_intr_handle_t ih;
return (str);
}
+int
+mpc_intr_line(lcv, ih)
+ void *lcv;
+ pci_intr_handle_t ih;
+{
+ return (ih);
+}
+
typedef void *(intr_establish_t) __P((void *, pci_intr_handle_t,
int, int, int (*func)(void *), void *, char *));
typedef void (intr_disestablish_t) __P((void *, void *));
diff --git a/sys/arch/mvmeppc/pci/pci_machdep.h b/sys/arch/mvmeppc/pci/pci_machdep.h
index 08181e158af..9bc610d1bcc 100644
--- a/sys/arch/mvmeppc/pci/pci_machdep.h
+++ b/sys/arch/mvmeppc/pci/pci_machdep.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: pci_machdep.h,v 1.1 2001/06/26 21:57:57 smurph Exp $ */
+/* $OpenBSD: pci_machdep.h,v 1.2 2001/08/17 22:26:58 mickey Exp $ */
/*
* Copyright (c) 1996 Carnegie-Mellon University.
@@ -57,6 +57,7 @@ struct ppc_pci_chipset {
int (*pc_intr_map) __P((void *, pcitag_t, int, int,
pci_intr_handle_t *));
const char *(*pc_intr_string) __P((void *, pci_intr_handle_t));
+ int (*pc_intr_line) __P((void *, pci_intr_handle_t));
void *(*pc_intr_establish) __P((void *, pci_intr_handle_t,
int, int (*)(void *), void *, char *));
void (*pc_intr_disestablish) __P((void *, void *));
@@ -82,6 +83,8 @@ struct ppc_pci_chipset {
(*(c)->pc_intr_map)((c)->pc_intr_v, (it), (ip), (il), (ihp))
#define pci_intr_string(c, ih) \
(*(c)->pc_intr_string)((c)->pc_intr_v, (ih))
+#define pci_intr_line(c, ih) \
+ (*(c)->pc_intr_line)((c)->pc_intr_v, (ih))
#define pci_intr_establish(c, ih, l, h, a, nm) \
(*(c)->pc_intr_establish)((c)->pc_intr_v, (ih), (l), (h), (a), (nm))
#define pci_intr_disestablish(c, iv) \
diff --git a/sys/arch/mvmeppc/pci/raven.c b/sys/arch/mvmeppc/pci/raven.c
index 1747ee0e9a4..000c52cac77 100644
--- a/sys/arch/mvmeppc/pci/raven.c
+++ b/sys/arch/mvmeppc/pci/raven.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: raven.c,v 1.1 2001/06/26 21:57:57 smurph Exp $ */
+/* $OpenBSD: raven.c,v 1.2 2001/08/17 22:26:58 mickey Exp $ */
/*
* Copyright (c) 2001 Steve Murphree, Jr.
@@ -70,6 +70,7 @@ void mpc_conf_write __P((void *, pcitag_t, int, pcireg_t));
int mpc_intr_map __P((void *, pcitag_t, int, int, pci_intr_handle_t *));
const char *mpc_intr_string __P((void *, pci_intr_handle_t));
+int mpc_intr_line __P((void *, pci_intr_handle_t));
void *mpc_intr_establish __P((void *, pci_intr_handle_t,
int, int (*func)(void *), void *, char *));
void mpc_intr_disestablish __P((void *, void *));
@@ -177,6 +178,7 @@ mpcpcibrattach(parent, self, aux)
lcp->lc_pc.pc_intr_v = lcp;
lcp->lc_pc.pc_intr_map = mpc_intr_map;
lcp->lc_pc.pc_intr_string = mpc_intr_string;
+ lcp->lc_pc.pc_intr_line = mpc_intr_line;
lcp->lc_pc.pc_intr_establish = mpc_intr_establish;
lcp->lc_pc.pc_intr_disestablish = mpc_intr_disestablish;
@@ -475,6 +477,14 @@ mpc_intr_string(lcv, ih)
return(str);
}
+int
+mpc_intr_string(lcv, ih)
+ void *lcv;
+ pci_intr_handle_t ih;
+{
+ return (ih);
+}
+
typedef void *(intr_establish_t) __P((void *, pci_intr_handle_t,
int, int, int (*func)(void *), void *, char *));
typedef void (intr_disestablish_t) __P((void *, void *));
diff --git a/sys/arch/powerpc/pci/mpcpcibus.c b/sys/arch/powerpc/pci/mpcpcibus.c
index 36ede0f3477..6cd085d9ac7 100644
--- a/sys/arch/powerpc/pci/mpcpcibus.c
+++ b/sys/arch/powerpc/pci/mpcpcibus.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: mpcpcibus.c,v 1.32 2001/07/09 02:51:05 mickey Exp $ */
+/* $OpenBSD: mpcpcibus.c,v 1.33 2001/08/17 22:26:58 mickey Exp $ */
/*
* Copyright (c) 1997 Per Fogelstrom
@@ -77,6 +77,7 @@ void mpc_conf_write __P((void *, pcitag_t, int, pcireg_t));
int mpc_intr_map __P((void *, pcitag_t, int, int, pci_intr_handle_t *));
const char *mpc_intr_string __P((void *, pci_intr_handle_t));
+int mpc_intr_line __P((void *, pci_intr_handle_t));
void *mpc_intr_establish __P((void *, pci_intr_handle_t,
int, int (*func)(void *), void *, char *));
void mpc_intr_disestablish __P((void *, void *));
@@ -274,6 +275,7 @@ mpcpcibrattach(parent, self, aux)
lcp->lc_pc.pc_intr_v = lcp;
lcp->lc_pc.pc_intr_map = mpc_intr_map;
lcp->lc_pc.pc_intr_string = mpc_intr_string;
+ lcp->lc_pc.pc_intr_line = mpc_intr_line;
lcp->lc_pc.pc_intr_establish = mpc_intr_establish;
lcp->lc_pc.pc_intr_disestablish = mpc_intr_disestablish;
@@ -483,6 +485,7 @@ mpcpcibrattach(parent, self, aux)
lcp->lc_pc.pc_intr_v = lcp;
lcp->lc_pc.pc_intr_map = mpc_intr_map;
lcp->lc_pc.pc_intr_string = mpc_intr_string;
+ lcp->lc_pc.pc_intr_line = mpc_intr_line;
lcp->lc_pc.pc_intr_establish = mpc_intr_establish;
lcp->lc_pc.pc_intr_disestablish = mpc_intr_disestablish;
@@ -955,6 +958,14 @@ mpc_intr_string(lcv, ih)
return(str);
}
+int
+mpc_intr_line(lcv, ih)
+ void *lcv;
+ pci_intr_handle_t ih;
+{
+ return (ih);
+}
+
void *
mpc_intr_establish(lcv, ih, level, func, arg, name)
void *lcv;
diff --git a/sys/arch/powerpc/pci/pci_machdep.h b/sys/arch/powerpc/pci/pci_machdep.h
index 6ff493a196c..2961afb9a10 100644
--- a/sys/arch/powerpc/pci/pci_machdep.h
+++ b/sys/arch/powerpc/pci/pci_machdep.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: pci_machdep.h,v 1.7 2001/07/09 02:26:05 mickey Exp $ */
+/* $OpenBSD: pci_machdep.h,v 1.8 2001/08/17 22:26:58 mickey Exp $ */
/*
* Copyright (c) 1996 Carnegie-Mellon University.
@@ -57,6 +57,7 @@ struct ppc_pci_chipset {
int (*pc_intr_map) __P((void *, pcitag_t, int, int,
pci_intr_handle_t *));
const char *(*pc_intr_string) __P((void *, pci_intr_handle_t));
+ int (*pc_intr_line) __P((void *, pci_intr_handle_t));
void *(*pc_intr_establish) __P((void *, pci_intr_handle_t,
int, int (*)(void *), void *, char *));
void (*pc_intr_disestablish) __P((void *, void *));