From 810e95d9a74415521fcdc42fec34f678a610e04a Mon Sep 17 00:00:00 2001 From: jhb Date: Tue, 8 Jul 2003 18:56:58 +0000 Subject: - Make the isab devclass global to allow for multiple ISA bridge drivers. - Factor out code common to all ISA bridge drivers attach methods into a isab_attach() function. - Rename the PCI-ISA bridge driver's attach function to pci_isab_attach() and have it call isab_attach(). --- sys/isa/isa_common.c | 17 +++++++++++++++++ sys/isa/isavar.h | 5 +++++ 2 files changed, 22 insertions(+) (limited to 'sys/isa') diff --git a/sys/isa/isa_common.c b/sys/isa/isa_common.c index 3e36a52..4f84093 100644 --- a/sys/isa/isa_common.c +++ b/sys/isa/isa_common.c @@ -1117,3 +1117,20 @@ DRIVER_MODULE(isa, eisab, isa_driver, isa_devclass, 0, 0); DRIVER_MODULE(isa, legacy, isa_driver, isa_devclass, 0, 0); #endif MODULE_VERSION(isa, 1); + +/* + * Code common to ISA bridges. + */ + +devclass_t isab_devclass; + +int +isab_attach(device_t dev) +{ + device_t child; + + child = device_add_child(dev, "isa", 0); + if (child != NULL) + return (bus_generic_attach(dev)); + return (ENXIO); +} diff --git a/sys/isa/isavar.h b/sys/isa/isavar.h index d0306e0..5a7621e 100644 --- a/sys/isa/isavar.h +++ b/sys/isa/isavar.h @@ -152,6 +152,9 @@ ISA_ACCESSOR(logicalid, LOGICALID, int) ISA_ACCESSOR(compatid, COMPATID, int) ISA_ACCESSOR(configattr, CONFIGATTR, int) +/* Device class for ISA bridges. */ +extern devclass_t isab_devclass; + extern intrmask_t isa_irq_pending(void); extern void isa_probe_children(device_t dev); @@ -164,6 +167,8 @@ extern void isa_dma_release(int chan); extern int isa_dmastatus(int chan); extern int isa_dmastop(int chan); +int isab_attach(device_t dev); + #ifdef PC98 #include -- cgit v1.1