Index: sys/amd64/acpica/acpi_machdep.c =================================================================== --- sys/amd64/acpica/acpi_machdep.c +++ sys/amd64/acpica/acpi_machdep.c @@ -381,4 +381,5 @@ DEFINE_CLASS_1(nexus, nexus_acpi_driver, nexus_acpi_methods, 1, nexus_driver); static devclass_t nexus_devclass; -DRIVER_MODULE(nexus_acpi, root, nexus_acpi_driver, nexus_devclass, 0, 0); +EARLY_DRIVER_MODULE(nexus_acpi, root, nexus_acpi_driver, nexus_devclass, 0, 0, + BUS_PASS_BUS); Index: sys/dev/acpica/acpi.c =================================================================== --- sys/dev/acpica/acpi.c +++ sys/dev/acpica/acpi.c @@ -228,7 +228,8 @@ }; static devclass_t acpi_devclass; -DRIVER_MODULE(acpi, nexus, acpi_driver, acpi_devclass, acpi_modevent, 0); +EARLY_DRIVER_MODULE(acpi, nexus, acpi_driver, acpi_devclass, acpi_modevent, 0, + BUS_PASS_BUS); MODULE_VERSION(acpi, 1); ACPI_SERIAL_DECL(acpi, "ACPI root bus"); Index: sys/dev/acpica/acpi_cpu.c =================================================================== --- sys/dev/acpica/acpi_cpu.c +++ sys/dev/acpica/acpi_cpu.c @@ -211,7 +211,8 @@ }; static devclass_t acpi_cpu_devclass; -DRIVER_MODULE(cpu, acpi, acpi_cpu_driver, acpi_cpu_devclass, 0, 0); +EARLY_DRIVER_MODULE(cpu, acpi, acpi_cpu_driver, acpi_cpu_devclass, 0, 0, + BUS_PASS_CPU); MODULE_DEPEND(cpu, acpi, 1, 1, 1); static int Index: sys/dev/acpica/acpi_hpet.c =================================================================== --- sys/dev/acpica/acpi_hpet.c +++ sys/dev/acpica/acpi_hpet.c @@ -861,5 +861,5 @@ sizeof(struct hpet_softc), }; -DRIVER_MODULE(hpet, acpi, hpet_driver, hpet_devclass, 0, 0); +EARLY_DRIVER_MODULE(hpet, acpi, hpet_driver, hpet_devclass, 0, 0, BUS_PASS_TIMER); MODULE_DEPEND(hpet, acpi, 1, 1, 1); Index: sys/dev/acpica/acpi_isab.c =================================================================== --- sys/dev/acpica/acpi_isab.c +++ sys/dev/acpica/acpi_isab.c @@ -85,7 +85,8 @@ sizeof(struct acpi_isab_softc), }; -DRIVER_MODULE(acpi_isab, acpi, acpi_isab_driver, isab_devclass, 0, 0); +EARLY_DRIVER_MODULE(acpi_isab, acpi, acpi_isab_driver, isab_devclass, 0, 0, + BUS_PASS_BUS); MODULE_DEPEND(acpi_isab, acpi, 1, 1, 1); static int Index: sys/dev/acpica/acpi_pci.c =================================================================== --- sys/dev/acpica/acpi_pci.c +++ sys/dev/acpica/acpi_pci.c @@ -105,7 +105,8 @@ DEFINE_CLASS_1(pci, acpi_pci_driver, acpi_pci_methods, sizeof(struct pci_softc), pci_driver); -DRIVER_MODULE(acpi_pci, pcib, acpi_pci_driver, pci_devclass, 0, 0); +EARLY_DRIVER_MODULE(acpi_pci, pcib, acpi_pci_driver, pci_devclass, 0, 0, + BUS_PASS_BUS); MODULE_DEPEND(acpi_pci, acpi, 1, 1, 1); MODULE_DEPEND(acpi_pci, pci, 1, 1, 1); MODULE_VERSION(acpi_pci, 1); Index: sys/dev/acpica/acpi_pci_link.c =================================================================== --- sys/dev/acpica/acpi_pci_link.c +++ sys/dev/acpica/acpi_pci_link.c @@ -1118,6 +1118,6 @@ static devclass_t pci_link_devclass; -DRIVER_MODULE(acpi_pci_link, acpi, acpi_pci_link_driver, pci_link_devclass, 0, - 0); +EARLY_DRIVER_MODULE(acpi_pci_link, acpi, acpi_pci_link_driver, + pci_link_devclass, 0, 0, BUS_PASS_BUS); MODULE_DEPEND(acpi_pci_link, acpi, 1, 1, 1); Index: sys/dev/acpica/acpi_pcib_acpi.c =================================================================== --- sys/dev/acpica/acpi_pcib_acpi.c +++ sys/dev/acpica/acpi_pcib_acpi.c @@ -150,7 +150,8 @@ DEFINE_CLASS_0(pcib, acpi_pcib_acpi_driver, acpi_pcib_acpi_methods, sizeof(struct acpi_hpcib_softc)); -DRIVER_MODULE(acpi_pcib, acpi, acpi_pcib_acpi_driver, pcib_devclass, 0, 0); +EARLY_DRIVER_MODULE(acpi_pcib, acpi, acpi_pcib_acpi_driver, pcib_devclass, + 0, 0, BUS_PASS_BUS); MODULE_DEPEND(acpi_pcib, acpi, 1, 1, 1); static int Index: sys/dev/acpica/acpi_pcib_pci.c =================================================================== --- sys/dev/acpica/acpi_pcib_pci.c +++ sys/dev/acpica/acpi_pcib_pci.c @@ -90,7 +90,8 @@ DEFINE_CLASS_1(pcib, acpi_pcib_pci_driver, acpi_pcib_pci_methods, sizeof(struct acpi_pcib_softc), pcib_driver); -DRIVER_MODULE(acpi_pcib, pci, acpi_pcib_pci_driver, pcib_devclass, 0, 0); +EARLY_DRIVER_MODULE(acpi_pcib, pci, acpi_pcib_pci_driver, pcib_devclass, 0, 0, + BUS_PASS_BUS); MODULE_DEPEND(acpi_pcib, acpi, 1, 1, 1); static int Index: sys/dev/acpica/acpi_resource.c =================================================================== --- sys/dev/acpica/acpi_resource.c +++ sys/dev/acpica/acpi_resource.c @@ -646,8 +646,8 @@ }; static devclass_t acpi_sysres_devclass; -DRIVER_MODULE(acpi_sysresource, acpi, acpi_sysres_driver, acpi_sysres_devclass, - 0, 0); +EARLY_DRIVER_MODULE(acpi_sysresource, acpi, acpi_sysres_driver, + acpi_sysres_devclass, 0, 0, BUS_PASS_RESOURCE); MODULE_DEPEND(acpi_sysresource, acpi, 1, 1, 1); static int Index: sys/dev/pci/hostb_pci.c =================================================================== --- sys/dev/pci/hostb_pci.c +++ sys/dev/pci/hostb_pci.c @@ -264,4 +264,5 @@ static devclass_t pci_hostb_devclass; -DRIVER_MODULE(hostb, pci, pci_hostb_driver, pci_hostb_devclass, 0, 0); +EARLY_DRIVER_MODULE(hostb, pci, pci_hostb_driver, pci_hostb_devclass, 0, 0, + BUS_PASS_BUS); Index: sys/dev/pci/pci.c =================================================================== --- sys/dev/pci/pci.c +++ sys/dev/pci/pci.c @@ -193,7 +193,8 @@ DEFINE_CLASS_0(pci, pci_driver, pci_methods, sizeof(struct pci_softc)); static devclass_t pci_devclass; -DRIVER_MODULE(pci, pcib, pci_driver, pci_devclass, pci_modevent, NULL); +EARLY_DRIVER_MODULE(pci, pcib, pci_driver, pci_devclass, pci_modevent, NULL, + BUS_PASS_BUS); MODULE_VERSION(pci, 1); static char *pci_vendordata; Index: sys/dev/pci/pci_pci.c =================================================================== --- sys/dev/pci/pci_pci.c +++ sys/dev/pci/pci_pci.c @@ -111,7 +111,8 @@ static devclass_t pcib_devclass; DEFINE_CLASS_0(pcib, pcib_driver, pcib_methods, sizeof(struct pcib_softc)); -DRIVER_MODULE(pcib, pci, pcib_driver, pcib_devclass, NULL, NULL); +EARLY_DRIVER_MODULE(pcib, pci, pcib_driver, pcib_devclass, NULL, NULL, + BUS_PASS_BUS); #ifdef NEW_PCIB SYSCTL_DECL(_hw_pci); Index: sys/dev/pci/vga_pci.c =================================================================== --- sys/dev/pci/vga_pci.c +++ sys/dev/pci/vga_pci.c @@ -600,4 +600,5 @@ static devclass_t vga_devclass; -DRIVER_MODULE(vgapci, pci, vga_pci_driver, vga_devclass, 0, 0); +EARLY_DRIVER_MODULE(vgapci, pci, vga_pci_driver, vga_devclass, 0, 0, + BUS_PASS_BUS); Index: sys/i386/acpica/acpi_machdep.c =================================================================== --- sys/i386/acpica/acpi_machdep.c +++ sys/i386/acpica/acpi_machdep.c @@ -391,4 +391,5 @@ DEFINE_CLASS_1(nexus, nexus_acpi_driver, nexus_acpi_methods, 1, nexus_driver); static devclass_t nexus_devclass; -DRIVER_MODULE(nexus_acpi, root, nexus_acpi_driver, nexus_devclass, 0, 0); +EARLY_DRIVER_MODULE(nexus_acpi, root, nexus_acpi_driver, nexus_devclass, 0, 0, + BUS_PASS_BUS); Index: sys/powerpc/ofw/ofw_pcib_pci.c =================================================================== --- sys/powerpc/ofw/ofw_pcib_pci.c +++ sys/powerpc/ofw/ofw_pcib_pci.c @@ -83,7 +83,8 @@ DEFINE_CLASS_1(pcib, ofw_pcib_pci_driver, ofw_pcib_pci_methods, sizeof(struct ofw_pcib_softc), pcib_driver); -DRIVER_MODULE(ofw_pcib, pci, ofw_pcib_pci_driver, pcib_devclass, 0, 0); +EARLY_DRIVER_MODULE(ofw_pcib, pci, ofw_pcib_pci_driver, pcib_devclass, 0, 0, + BUS_PASS_BUS); static int ofw_pcib_pci_probe(device_t dev) Index: sys/powerpc/ofw/ofw_pcibus.c =================================================================== --- sys/powerpc/ofw/ofw_pcibus.c +++ sys/powerpc/ofw/ofw_pcibus.c @@ -93,7 +93,8 @@ DEFINE_CLASS_1(pci, ofw_pcibus_driver, ofw_pcibus_methods, sizeof(struct pci_softc), pci_driver); -DRIVER_MODULE(ofw_pcibus, pcib, ofw_pcibus_driver, pci_devclass, 0, 0); +EARLY_DRIVER_MODULE(ofw_pcibus, pcib, ofw_pcibus_driver, pci_devclass, 0, 0, + BUS_PASS_BUS); MODULE_VERSION(ofw_pcibus, 1); MODULE_DEPEND(ofw_pcibus, pci, 1, 1, 1); Index: sys/powerpc/ofw/openpic_ofw.c =================================================================== --- sys/powerpc/ofw/openpic_ofw.c +++ sys/powerpc/ofw/openpic_ofw.c @@ -93,9 +93,12 @@ sizeof(struct openpic_softc), }; -DRIVER_MODULE(openpic, ofwbus, openpic_ofw_driver, openpic_devclass, 0, 0); -DRIVER_MODULE(openpic, simplebus, openpic_ofw_driver, openpic_devclass, 0, 0); -DRIVER_MODULE(openpic, macio, openpic_ofw_driver, openpic_devclass, 0, 0); +EARLY_DRIVER_MODULE(openpic, ofwbus, openpic_ofw_driver, openpic_devclass, + 0, 0, BUS_PASS_INTERRUPT); +EARLY_DRIVER_MODULE(openpic, simplebus, openpic_ofw_driver, openpic_devclass, + 0, 0, BUS_PASS_INTERRUPT); +EARLY_DRIVER_MODULE(openpic, macio, openpic_ofw_driver, openpic_devclass, 0, 0, + BUS_PASS_INTERRUPT); static int openpic_ofw_probe(device_t dev) Index: sys/powerpc/powermac/cpcht.c =================================================================== --- sys/powerpc/powermac/cpcht.c +++ sys/powerpc/powermac/cpcht.c @@ -135,7 +135,8 @@ static devclass_t cpcht_devclass; DEFINE_CLASS_1(pcib, cpcht_driver, cpcht_methods, sizeof(struct cpcht_softc), ofw_pci_driver); -DRIVER_MODULE(cpcht, ofwbus, cpcht_driver, cpcht_devclass, 0, 0); +EARLY_DRIVER_MODULE(cpcht, ofwbus, cpcht_driver, cpcht_devclass, 0, 0, + BUS_PASS_BUS); #define CPCHT_IOPORT_BASE 0xf4000000UL /* Hardwired */ #define CPCHT_IOPORT_SIZE 0x00400000UL @@ -541,7 +542,8 @@ sizeof(struct openpic_cpcht_softc), }; -DRIVER_MODULE(openpic, unin, openpic_cpcht_driver, openpic_devclass, 0, 0); +EARLY_DRIVER_MODULE(openpic, unin, openpic_cpcht_driver, openpic_devclass, + 0, 0, BUS_PASS_INTERRUPT); static int openpic_cpcht_probe(device_t dev) Index: sys/powerpc/powermac/macgpio.c =================================================================== --- sys/powerpc/powermac/macgpio.c +++ sys/powerpc/powermac/macgpio.c @@ -124,7 +124,8 @@ devclass_t macgpio_devclass; -DRIVER_MODULE(macgpio, macio, macgpio_pci_driver, macgpio_devclass, 0, 0); +EARLY_DRIVER_MODULE(macgpio, macio, macgpio_pci_driver, macgpio_devclass, 0, 0, + BUS_PASS_BUS); struct macgpio_devinfo { struct ofw_bus_devinfo mdi_obdinfo; Index: sys/powerpc/powermac/macio.c =================================================================== --- sys/powerpc/powermac/macio.c +++ sys/powerpc/powermac/macio.c @@ -133,7 +133,8 @@ devclass_t macio_devclass; -DRIVER_MODULE(macio, pci, macio_pci_driver, macio_devclass, 0, 0); +EARLY_DRIVER_MODULE(macio, pci, macio_pci_driver, macio_devclass, 0, 0, + BUS_PASS_BUS); /* * PCI ID search table Index: sys/powerpc/powermac/pmu.c =================================================================== --- sys/powerpc/powermac/pmu.c +++ sys/powerpc/powermac/pmu.c @@ -146,7 +146,8 @@ static devclass_t pmu_devclass; -DRIVER_MODULE(pmu, macio, pmu_driver, pmu_devclass, 0, 0); +EARLY_DRIVER_MODULE(pmu, macio, pmu_driver, pmu_devclass, 0, 0, + BUS_PASS_RESOURCE); DRIVER_MODULE(adb, pmu, adb_driver, adb_devclass, 0, 0); static int pmuextint_probe(device_t); @@ -168,7 +169,8 @@ static devclass_t pmuextint_devclass; -DRIVER_MODULE(pmuextint, macgpio, pmuextint_driver, pmuextint_devclass, 0, 0); +EARLY_DRIVER_MODULE(pmuextint, macgpio, pmuextint_driver, pmuextint_devclass, + 0, 0, BUS_PASS_RESOURCE); /* Make sure uhid is loaded, as it turns off some of the ADB emulation */ MODULE_DEPEND(pmu, usb, 1, 1, 1); Index: sys/powerpc/powermac/uninorth.c =================================================================== --- sys/powerpc/powermac/uninorth.c +++ sys/powerpc/powermac/uninorth.c @@ -143,7 +143,8 @@ */ static device_t unin_chip; -DRIVER_MODULE(unin, ofwbus, unin_chip_driver, unin_chip_devclass, 0, 0); +EARLY_DRIVER_MODULE(unin, ofwbus, unin_chip_driver, unin_chip_devclass, 0, 0, + BUS_PASS_BUS); /* * Add an interrupt to the dev's resource list if present Index: sys/powerpc/powermac/uninorthpci.c =================================================================== --- sys/powerpc/powermac/uninorthpci.c +++ sys/powerpc/powermac/uninorthpci.c @@ -98,7 +98,8 @@ DEFINE_CLASS_1(pcib, uninorth_driver, uninorth_methods, sizeof(struct uninorth_softc), ofw_pci_driver); -DRIVER_MODULE(uninorth, ofwbus, uninorth_driver, uninorth_devclass, 0, 0); +EARLY_DRIVER_MODULE(uninorth, ofwbus, uninorth_driver, uninorth_devclass, 0, 0, + BUS_PASS_BUS); static int uninorth_probe(device_t dev)