--- //depot/vendor/freebsd/src/sys/pci/viapm.c 2005/05/29 04:45:51 +++ //depot/user/jhb/acpipci/pci/viapm.c 2005/10/28 19:58:37 @@ -27,6 +27,8 @@ #include __FBSDID("$FreeBSD: src/sys/pci/viapm.c,v 1.10 2005/05/29 04:42:29 nyan Exp $"); +#include "opt_isa.h" + #include #include #include @@ -39,6 +41,10 @@ #include #include +#ifdef DEV_ISA +#include +#include +#endif #include #include @@ -369,6 +375,12 @@ VIAPM_OUTB(SMBHCTRL, VIAPM_INB(SMBHCTRL) | SMBHCTRL_ENABLE); #endif +#ifdef DEV_ISA + /* If this device is a PCI-ISA bridge, then attach an ISA bus. */ + if ((pci_get_class(dev) == PCIC_BRIDGE) && + (pci_get_subclass(dev) == PCIS_BRIDGE_ISA)) + isab_attach(dev); +#endif return 0; error: @@ -880,6 +892,15 @@ DEVMETHOD(iicbb_getsda, viabb_getsda), DEVMETHOD(iicbb_reset, viabb_reset), + /* Bus interface */ + DEVMETHOD(bus_print_child, bus_generic_print_child), + DEVMETHOD(bus_alloc_resource, bus_generic_alloc_resource), + DEVMETHOD(bus_release_resource, bus_generic_release_resource), + DEVMETHOD(bus_activate_resource, bus_generic_activate_resource), + DEVMETHOD(bus_deactivate_resource, bus_generic_deactivate_resource), + DEVMETHOD(bus_setup_intr, bus_generic_setup_intr), + DEVMETHOD(bus_teardown_intr, bus_generic_teardown_intr), + { 0, 0 } }; @@ -907,6 +928,15 @@ DEVMETHOD(smbus_bwrite, viasmb_bwrite), DEVMETHOD(smbus_bread, viasmb_bread), + /* Bus interface */ + DEVMETHOD(bus_print_child, bus_generic_print_child), + DEVMETHOD(bus_alloc_resource, bus_generic_alloc_resource), + DEVMETHOD(bus_release_resource, bus_generic_release_resource), + DEVMETHOD(bus_activate_resource, bus_generic_activate_resource), + DEVMETHOD(bus_deactivate_resource, bus_generic_deactivate_resource), + DEVMETHOD(bus_setup_intr, bus_generic_setup_intr), + DEVMETHOD(bus_teardown_intr, bus_generic_teardown_intr), + { 0, 0 } }; @@ -920,7 +950,14 @@ DRIVER_MODULE(viapropm, pci, viapropm_driver, viapropm_devclass, 0, 0); MODULE_DEPEND(viapm, pci, 1, 1, 1); -MODULE_DEPEND(viaprom, pci, 1, 1, 1); +MODULE_DEPEND(viapropm, pci, 1, 1, 1); MODULE_DEPEND(viapm, iicbb, IICBB_MINVER, IICBB_PREFVER, IICBB_MAXVER); MODULE_DEPEND(viapropm, smbus, SMBUS_MINVER, SMBUS_PREFVER, SMBUS_MAXVER); MODULE_VERSION(viapm, 1); + +#ifdef DEV_ISA +DRIVER_MODULE(isa, viapm, isa_driver, isa_devclass, 0, 0); +DRIVER_MODULE(isa, viapropm, isa_driver, isa_devclass, 0, 0); +MODULE_DEPEND(viapm, isa, 1, 1, 1); +MODULE_DEPEND(viapropm, isa, 1, 1, 1); +#endif