diff options
author | Michael Shalayeff <mickey@cvs.openbsd.org> | 2001-08-17 22:26:59 +0000 |
---|---|---|
committer | Michael Shalayeff <mickey@cvs.openbsd.org> | 2001-08-17 22:26:59 +0000 |
commit | 5f794f8c1c7a349faa97c6ef092a96fcf48ca094 (patch) | |
tree | e2511d92dc642fc35e0925f4f7f3681fafc8f75f | |
parent | 0c3296d28b7e353e842dc384702aebc7653387c5 (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.c | 12 | ||||
-rw-r--r-- | sys/arch/alpha/pci/pci_550.c | 17 | ||||
-rw-r--r-- | sys/arch/alpha/pci/pci_6600.c | 19 | ||||
-rw-r--r-- | sys/arch/alpha/pci/pci_axppci_33.c | 12 | ||||
-rw-r--r-- | sys/arch/alpha/pci/pci_eb164.c | 12 | ||||
-rw-r--r-- | sys/arch/alpha/pci/pci_kn20aa.c | 12 | ||||
-rw-r--r-- | sys/arch/alpha/pci/pci_machdep.h | 5 | ||||
-rw-r--r-- | sys/arch/alpha/pci/pci_up1000.c | 10 | ||||
-rw-r--r-- | sys/arch/alpha/pci/sio.c | 3 | ||||
-rw-r--r-- | sys/arch/alpha/pci/sio_pic.c | 10 | ||||
-rw-r--r-- | sys/arch/alpha/pci/siovar.h | 3 | ||||
-rw-r--r-- | sys/arch/i386/pci/pci_machdep.h | 3 | ||||
-rw-r--r-- | sys/arch/mvmeppc/pci/mpcpcibr.c | 12 | ||||
-rw-r--r-- | sys/arch/mvmeppc/pci/pci_machdep.h | 5 | ||||
-rw-r--r-- | sys/arch/mvmeppc/pci/raven.c | 12 | ||||
-rw-r--r-- | sys/arch/powerpc/pci/mpcpcibus.c | 13 | ||||
-rw-r--r-- | sys/arch/powerpc/pci/pci_machdep.h | 3 |
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 *)); |