platform/x86: Fix dell driver init order
authorDarren Hart (VMware) <dvhart@infradead.org>
Tue, 13 Mar 2018 06:28:00 +0000 (23:28 -0700)
committerDarren Hart (VMware) <dvhart@infradead.org>
Wed, 14 Mar 2018 17:48:06 +0000 (10:48 -0700)
Update the initcall ordering to satisfy the following dependency
ordering:

1. DCDBAS, ACPI_WMI
2. DELL_SMBIOS, DELL_RBTN
3. DELL_LAPTOP, DELL_WMI

By assigning them to the following initcall levels:

subsys_initcall: DCDBAS, ACPI_WMI
module_init: DELL_SMBIOS, DELL_RBTN
late_initcall: DELL_LAPTOP, DELL_WMI

Cc: Dominik Brodowski <linux@dominikbrodowski.net>
Cc: Mario.Limonciello@dell.com
Signed-off-by: Darren Hart (VMware) <dvhart@infradead.org>
drivers/firmware/dcdbas.c
drivers/platform/x86/dell-smbios-base.c
drivers/platform/x86/dell-wmi.c

index c16600f30611849562386e25375947785f580463..0bdea60c65ddbff81742b5d1a5d22c25521cfa8f 100644 (file)
@@ -639,7 +639,7 @@ static void __exit dcdbas_exit(void)
        platform_driver_unregister(&dcdbas_driver);
 }
 
-module_init(dcdbas_init);
+subsys_initcall_sync(dcdbas_init);
 module_exit(dcdbas_exit);
 
 MODULE_DESCRIPTION(DRIVER_DESCRIPTION " (version " DRIVER_VERSION ")");
index 5bcf8a18f78595eedc5ef33b67836ebcf35a6d9b..2485c80a9fddb772c5085f4e2074a14981b26ba4 100644 (file)
@@ -637,7 +637,7 @@ static void __exit dell_smbios_exit(void)
        mutex_unlock(&smbios_mutex);
 }
 
-subsys_initcall(dell_smbios_init);
+module_init(dell_smbios_init);
 module_exit(dell_smbios_exit);
 
 MODULE_AUTHOR("Matthew Garrett <mjg@redhat.com>");
index 2c9927430d8525bc7df26c50de85e5a2fd8863d1..8d102195a3927fa4bf76f4230d069d6038414923 100644 (file)
@@ -714,7 +714,7 @@ static int __init dell_wmi_init(void)
 
        return wmi_driver_register(&dell_wmi_driver);
 }
-module_init(dell_wmi_init);
+late_initcall(dell_wmi_init);
 
 static void __exit dell_wmi_exit(void)
 {