commit e7a5b8bb6a5d04054dec1e85d53bbe115059d0d0 Author: Tim Bird Date: Fri Sep 12 11:35:58 2008 -0700 Use deferred_module_init on long-probing IDE and USB modules. These modules were taking about 700 ms and 400 ms, respectively to initialize. On many embedded systems, these initializations can be done after major boot activity is completed, with no loss of functionality. diff --git a/drivers/ata/ata_piix.c b/drivers/ata/ata_piix.c index e9e32ed..cb2ebf3 100644 --- a/drivers/ata/ata_piix.c +++ b/drivers/ata/ata_piix.c @@ -1494,5 +1494,5 @@ static void __exit piix_exit(void) pci_unregister_driver(&piix_pci_driver); } -module_init(piix_init); +deferred_module_init(piix_init); module_exit(piix_exit); diff --git a/drivers/usb/host/ehci-hcd.c b/drivers/usb/host/ehci-hcd.c index 8409e07..44a8340 100644 --- a/drivers/usb/host/ehci-hcd.c +++ b/drivers/usb/host/ehci-hcd.c @@ -1107,7 +1107,7 @@ clean0: #endif return retval; } -module_init(ehci_hcd_init); +deferred_module_init(ehci_hcd_init); static void __exit ehci_hcd_cleanup(void) { diff --git a/drivers/usb/host/uhci-hcd.c b/drivers/usb/host/uhci-hcd.c index 3a7bfe7..9c27ef0 100644 --- a/drivers/usb/host/uhci-hcd.c +++ b/drivers/usb/host/uhci-hcd.c @@ -999,7 +999,7 @@ static void __exit uhci_hcd_cleanup(void) kfree(errbuf); } -module_init(uhci_hcd_init); +deferred_module_init(uhci_hcd_init); module_exit(uhci_hcd_cleanup); MODULE_AUTHOR(DRIVER_AUTHOR);