platform-drivers-x86 for v4.16-7

DELL_SMBIOS conditionally depends on ACPI_WMI in the same way it depends
 on DCDBAS, update the Kconfig accordingly. Correct the driver init order
 to ensure that the driver dependencies are met, avoiding race conditions
 resulting in boot failure on certain systems when the drivers are
 built-in.
 
 The following is an automated git shortlog grouped by driver:
 
 dell-smbios and related drivers:
  - Fix dell driver init order
  - Resolve dependency error on ACPI_WMI
 -----BEGIN PGP SIGNATURE-----
 
 iQEcBAABAgAGBQJaqWWlAAoJEKbMaAwKp364y2gH/RUWyV2snZKLQNSzi9w5xdxb
 G99n0Hsy5ugUcnqDx6jK7Hgy0Lm7D7Gs4+ePlY0AuPZN99ywTNfUQkr6Tbdns/wv
 CKJtToA6DRh/fbvHDbNMsFEiv9a/Xdf21925K73KWqTN6RK/dWZVffafvRh0UmQe
 ffGYccVNdxsOI4e8qNzk2++3QfxSsH97nDHDFDVA0lRWdKljK3DJTSzeUOhoRErf
 YsyjUydVcnmlLmaoDt6xNAJIYcSqUqKwvIgX20hbeBYRBDLLZyjSpDjSW0F3NT2H
 LZKq3hBoVzyp9ta3uZEwIZIdBk+5prR44ugFZZjOVsr7xvaMcKczerDPQEw9lgo=
 =WjAI
 -----END PGP SIGNATURE-----

Merge tag 'platform-drivers-x86-v4.16-7' of git://git.infradead.org/linux-platform-drivers-x86

Pull x86 platform drives fixes from Darren Hart:

 - DELL_SMBIOS conditionally depends on ACPI_WMI in the same way it
   depends on DCDBAS, update the Kconfig accordingly.

 - fix the dell driver init order to ensure that the driver dependencies
   are met, avoiding race conditions resulting in boot failure on
   certain systems when the drivers are built-in.

* tag 'platform-drivers-x86-v4.16-7' of git://git.infradead.org/linux-platform-drivers-x86:
  platform/x86: Fix dell driver init order
  platform/x86: dell-smbios: Resolve dependency error on ACPI_WMI
This commit is contained in:
Linus Torvalds 2018-03-14 13:01:14 -07:00
commit 274a1ff070
4 changed files with 7 additions and 6 deletions

View File

@ -639,7 +639,7 @@ static void __exit dcdbas_exit(void)
platform_driver_unregister(&dcdbas_driver); platform_driver_unregister(&dcdbas_driver);
} }
module_init(dcdbas_init); subsys_initcall_sync(dcdbas_init);
module_exit(dcdbas_exit); module_exit(dcdbas_exit);
MODULE_DESCRIPTION(DRIVER_DESCRIPTION " (version " DRIVER_VERSION ")"); MODULE_DESCRIPTION(DRIVER_DESCRIPTION " (version " DRIVER_VERSION ")");

View File

@ -106,13 +106,14 @@ config ASUS_LAPTOP
If you have an ACPI-compatible ASUS laptop, say Y or M here. If you have an ACPI-compatible ASUS laptop, say Y or M here.
# #
# If the DELL_SMBIOS_SMM feature is enabled, the DELL_SMBIOS driver # The DELL_SMBIOS driver depends on ACPI_WMI and/or DCDBAS if those
# becomes dependent on the DCDBAS driver. The "depends" line prevents a # backends are selected. The "depends" line prevents a configuration
# configuration where DELL_SMBIOS=y while DCDBAS=m. # where DELL_SMBIOS=y while either of those dependencies =m.
# #
config DELL_SMBIOS config DELL_SMBIOS
tristate "Dell SMBIOS driver" tristate "Dell SMBIOS driver"
depends on DCDBAS || DCDBAS=n depends on DCDBAS || DCDBAS=n
depends on ACPI_WMI || ACPI_WMI=n
---help--- ---help---
This provides support for the Dell SMBIOS calling interface. This provides support for the Dell SMBIOS calling interface.
If you have a Dell computer you should enable this option. If you have a Dell computer you should enable this option.

View File

@ -637,7 +637,7 @@ static void __exit dell_smbios_exit(void)
mutex_unlock(&smbios_mutex); mutex_unlock(&smbios_mutex);
} }
subsys_initcall(dell_smbios_init); module_init(dell_smbios_init);
module_exit(dell_smbios_exit); module_exit(dell_smbios_exit);
MODULE_AUTHOR("Matthew Garrett <mjg@redhat.com>"); MODULE_AUTHOR("Matthew Garrett <mjg@redhat.com>");

View File

@ -714,7 +714,7 @@ static int __init dell_wmi_init(void)
return wmi_driver_register(&dell_wmi_driver); return wmi_driver_register(&dell_wmi_driver);
} }
module_init(dell_wmi_init); late_initcall(dell_wmi_init);
static void __exit dell_wmi_exit(void) static void __exit dell_wmi_exit(void)
{ {