diff options
author | Miod Vallat <miod@cvs.openbsd.org> | 2008-07-25 21:11:16 +0000 |
---|---|---|
committer | Miod Vallat <miod@cvs.openbsd.org> | 2008-07-25 21:11:16 +0000 |
commit | 18e3f6d8614d82a9fa490919bfe47dc48a923144 (patch) | |
tree | 11a936c03982608c697c3247246fc72fcef85fd1 /sys/arch/alpha/pci | |
parent | cfae2dcc921f030c2ddf09b415864f2ce46ad633 (diff) |
Improve eisa bus probe by deciding the number of logical eisa slots from
the motherboard eisa id, instead of using a ``one size fits all'' value which
is too large on more than half the eisa-capable alpha designs.
The id -> slot # logic is based on the alpha ECU configuration files, so we
should not perform worse than ECU itself (and see all slots ECU sees too).
Diffstat (limited to 'sys/arch/alpha/pci')
-rw-r--r-- | sys/arch/alpha/pci/sio.c | 15 |
1 files changed, 2 insertions, 13 deletions
diff --git a/sys/arch/alpha/pci/sio.c b/sys/arch/alpha/pci/sio.c index 34ff03f8399..c8d80c05c16 100644 --- a/sys/arch/alpha/pci/sio.c +++ b/sys/arch/alpha/pci/sio.c @@ -1,4 +1,4 @@ -/* $OpenBSD: sio.c,v 1.33 2008/07/22 20:06:01 miod Exp $ */ +/* $OpenBSD: sio.c,v 1.34 2008/07/25 21:11:15 miod Exp $ */ /* $NetBSD: sio.c,v 1.15 1996/12/05 01:39:36 cgd Exp $ */ /* @@ -91,7 +91,6 @@ void sio_isa_attach_hook(struct device *, struct device *, struct isabus_attach_args *); void sio_eisa_attach_hook(struct device *, struct device *, struct eisabus_attach_args *); -int sio_eisa_maxslots(void *); int sio_eisa_intr_map(void *, u_int, eisa_intr_handle_t *); void sio_bridge_callback(struct device *); @@ -169,8 +168,8 @@ sio_bridge_callback(self) if (sc->sc_haseisa) { ec.ec_v = NULL; + ec.ec_maxslots = 0; /* will be filled by attach_hook */ ec.ec_attach_hook = sio_eisa_attach_hook; - ec.ec_maxslots = sio_eisa_maxslots; ec.ec_intr_map = sio_eisa_intr_map; ec.ec_intr_string = sio_intr_string; ec.ec_intr_establish = sio_intr_establish; @@ -231,16 +230,6 @@ sio_eisa_attach_hook(parent, self, eba) } int -sio_eisa_maxslots(v) - void *v; -{ - /* - * None of the alpha backplanes has more than 8 physical slots. - */ - return 9; -} - -int sio_eisa_intr_map(v, irq, ihp) void *v; u_int irq; |