Hi,

On 2/3/21 8:58 PM, Mario Limonciello wrote:
> A user without a Dell system doesn't need to pick any of these
> drivers.
> 
> Users with a Dell system can enable this submenu and all drivers
> behind it will be enabled.
> 
> Suggested-by: Andy Shevchenko <andriy.shevche...@linux.intel.com>
> Signed-off-by: Mario Limonciello <mario.limoncie...@dell.com>

Thank you for your patch, I've applied this patch to my review-hans 
branch:
https://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86.git/log/?h=review-hans

There was one small issue with the patch, all the "default m" lines
which you added were indented with 4 spaces instead of a tab, I've
fixed this up locally.

The patch will show up in my review-hans branch once I've pushed my
local branch there, which might take a while.

Once I've run some tests on this branch the patches there will be
added to the platform-drivers-x86/for-next branch and eventually
will be included in the pdx86 pull-request to Linus for the next
merge-window.

Regards,

Hans


> ---
> Changes from v1->v2:
>  - Rename menu per Andy's suggestion
>  - Move if/endif for menu into subdirectory
>  - Set default for menu to "n" but individual modules to "m"
>    Should be same defaults as previous, but allow an "easy" switch
>  MAINTAINERS                                   |  22 +-
>  drivers/platform/x86/Kconfig                  | 176 +--------------
>  drivers/platform/x86/Makefile                 |  16 +-
>  drivers/platform/x86/dell/Kconfig             | 207 ++++++++++++++++++
>  drivers/platform/x86/dell/Makefile            |  21 ++
>  .../platform/x86/{ => dell}/alienware-wmi.c   |   0
>  drivers/platform/x86/{ => dell}/dcdbas.c      |   0
>  drivers/platform/x86/{ => dell}/dcdbas.h      |   0
>  drivers/platform/x86/{ => dell}/dell-laptop.c |   0
>  drivers/platform/x86/{ => dell}/dell-rbtn.c   |   0
>  drivers/platform/x86/{ => dell}/dell-rbtn.h   |   0
>  .../x86/{ => dell}/dell-smbios-base.c         |   0
>  .../platform/x86/{ => dell}/dell-smbios-smm.c |   0
>  .../platform/x86/{ => dell}/dell-smbios-wmi.c |   0
>  drivers/platform/x86/{ => dell}/dell-smbios.h |   0
>  .../platform/x86/{ => dell}/dell-smo8800.c    |   0
>  .../platform/x86/{ => dell}/dell-wmi-aio.c    |   0
>  .../x86/{ => dell}/dell-wmi-descriptor.c      |   0
>  .../x86/{ => dell}/dell-wmi-descriptor.h      |   0
>  .../platform/x86/{ => dell}/dell-wmi-led.c    |   0
>  .../x86/{ => dell}/dell-wmi-sysman/Makefile   |   0
>  .../dell-wmi-sysman/biosattr-interface.c      |   0
>  .../dell-wmi-sysman/dell-wmi-sysman.h         |   0
>  .../dell-wmi-sysman/enum-attributes.c         |   0
>  .../dell-wmi-sysman/int-attributes.c          |   0
>  .../dell-wmi-sysman/passobj-attributes.c      |   0
>  .../dell-wmi-sysman/passwordattr-interface.c  |   0
>  .../dell-wmi-sysman/string-attributes.c       |   0
>  .../x86/{ => dell}/dell-wmi-sysman/sysman.c   |   0
>  drivers/platform/x86/{ => dell}/dell-wmi.c    |   0
>  drivers/platform/x86/{ => dell}/dell_rbu.c    |   0
>  31 files changed, 241 insertions(+), 201 deletions(-)
>  create mode 100644 drivers/platform/x86/dell/Kconfig
>  create mode 100644 drivers/platform/x86/dell/Makefile
>  rename drivers/platform/x86/{ => dell}/alienware-wmi.c (100%)
>  rename drivers/platform/x86/{ => dell}/dcdbas.c (100%)
>  rename drivers/platform/x86/{ => dell}/dcdbas.h (100%)
>  rename drivers/platform/x86/{ => dell}/dell-laptop.c (100%)
>  rename drivers/platform/x86/{ => dell}/dell-rbtn.c (100%)
>  rename drivers/platform/x86/{ => dell}/dell-rbtn.h (100%)
>  rename drivers/platform/x86/{ => dell}/dell-smbios-base.c (100%)
>  rename drivers/platform/x86/{ => dell}/dell-smbios-smm.c (100%)
>  rename drivers/platform/x86/{ => dell}/dell-smbios-wmi.c (100%)
>  rename drivers/platform/x86/{ => dell}/dell-smbios.h (100%)
>  rename drivers/platform/x86/{ => dell}/dell-smo8800.c (100%)
>  rename drivers/platform/x86/{ => dell}/dell-wmi-aio.c (100%)
>  rename drivers/platform/x86/{ => dell}/dell-wmi-descriptor.c (100%)
>  rename drivers/platform/x86/{ => dell}/dell-wmi-descriptor.h (100%)
>  rename drivers/platform/x86/{ => dell}/dell-wmi-led.c (100%)
>  rename drivers/platform/x86/{ => dell}/dell-wmi-sysman/Makefile (100%)
>  rename drivers/platform/x86/{ => dell}/dell-wmi-sysman/biosattr-interface.c 
> (100%)
>  rename drivers/platform/x86/{ => dell}/dell-wmi-sysman/dell-wmi-sysman.h 
> (100%)
>  rename drivers/platform/x86/{ => dell}/dell-wmi-sysman/enum-attributes.c 
> (100%)
>  rename drivers/platform/x86/{ => dell}/dell-wmi-sysman/int-attributes.c 
> (100%)
>  rename drivers/platform/x86/{ => dell}/dell-wmi-sysman/passobj-attributes.c 
> (100%)
>  rename drivers/platform/x86/{ => 
> dell}/dell-wmi-sysman/passwordattr-interface.c (100%)
>  rename drivers/platform/x86/{ => dell}/dell-wmi-sysman/string-attributes.c 
> (100%)
>  rename drivers/platform/x86/{ => dell}/dell-wmi-sysman/sysman.c (100%)
>  rename drivers/platform/x86/{ => dell}/dell-wmi.c (100%)
>  rename drivers/platform/x86/{ => dell}/dell_rbu.c (100%)
> 
> diff --git a/MAINTAINERS b/MAINTAINERS
> index d3e847f7f3dc..ae83c6cff843 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -4970,17 +4970,17 @@ M:    Matthew Garrett <mj...@srcf.ucam.org>
>  M:   Pali Rohár <p...@kernel.org>
>  L:   platform-driver-...@vger.kernel.org
>  S:   Maintained
> -F:   drivers/platform/x86/dell-laptop.c
> +F:   drivers/platform/x86/dell/dell-laptop.c
>  
>  DELL LAPTOP FREEFALL DRIVER
>  M:   Pali Rohár <p...@kernel.org>
>  S:   Maintained
> -F:   drivers/platform/x86/dell-smo8800.c
> +F:   drivers/platform/x86/dell/dell-smo8800.c
>  
>  DELL LAPTOP RBTN DRIVER
>  M:   Pali Rohár <p...@kernel.org>
>  S:   Maintained
> -F:   drivers/platform/x86/dell-rbtn.*
> +F:   drivers/platform/x86/dell/dell-rbtn.*
>  
>  DELL LAPTOP SMM DRIVER
>  M:   Pali Rohár <p...@kernel.org>
> @@ -4992,26 +4992,26 @@ DELL REMOTE BIOS UPDATE DRIVER
>  M:   Stuart Hayes <stuart.w.ha...@gmail.com>
>  L:   platform-driver-...@vger.kernel.org
>  S:   Maintained
> -F:   drivers/platform/x86/dell_rbu.c
> +F:   drivers/platform/x86/dell/dell_rbu.c
>  
>  DELL SMBIOS DRIVER
>  M:   Pali Rohár <p...@kernel.org>
>  M:   Mario Limonciello <mario.limoncie...@dell.com>
>  L:   platform-driver-...@vger.kernel.org
>  S:   Maintained
> -F:   drivers/platform/x86/dell-smbios.*
> +F:   drivers/platform/x86/dell/dell-smbios.*
>  
>  DELL SMBIOS SMM DRIVER
>  M:   Mario Limonciello <mario.limoncie...@dell.com>
>  L:   platform-driver-...@vger.kernel.org
>  S:   Maintained
> -F:   drivers/platform/x86/dell-smbios-smm.c
> +F:   drivers/platform/x86/dell/dell-smbios-smm.c
>  
>  DELL SMBIOS WMI DRIVER
>  M:   Mario Limonciello <mario.limoncie...@dell.com>
>  L:   platform-driver-...@vger.kernel.org
>  S:   Maintained
> -F:   drivers/platform/x86/dell-smbios-wmi.c
> +F:   drivers/platform/x86/dell/dell-smbios-wmi.c
>  F:   tools/wmi/dell-smbios-example.c
>  
>  DELL SYSTEMS MANAGEMENT BASE DRIVER (dcdbas)
> @@ -5019,12 +5019,12 @@ M:    Stuart Hayes <stuart.w.ha...@gmail.com>
>  L:   platform-driver-...@vger.kernel.org
>  S:   Maintained
>  F:   Documentation/driver-api/dcdbas.rst
> -F:   drivers/platform/x86/dcdbas.*
> +F:   drivers/platform/x86/dell/dcdbas.*
>  
>  DELL WMI DESCRIPTOR DRIVER
>  M:   Mario Limonciello <mario.limoncie...@dell.com>
>  S:   Maintained
> -F:   drivers/platform/x86/dell-wmi-descriptor.c
> +F:   drivers/platform/x86/dell/dell-wmi-descriptor.c
>  
>  DELL WMI SYSMAN DRIVER
>  M:   Divya Bharathi <divya.bhara...@dell.com>
> @@ -5033,13 +5033,13 @@ M:    Prasanth Ksr <prasanth....@dell.com>
>  L:   platform-driver-...@vger.kernel.org
>  S:   Maintained
>  F:   Documentation/ABI/testing/sysfs-class-firmware-attributes
> -F:   drivers/platform/x86/dell-wmi-sysman/
> +F:   drivers/platform/x86/dell/dell-wmi-sysman/
>  
>  DELL WMI NOTIFICATIONS DRIVER
>  M:   Matthew Garrett <mj...@srcf.ucam.org>
>  M:   Pali Rohár <p...@kernel.org>
>  S:   Maintained
> -F:   drivers/platform/x86/dell-wmi.c
> +F:   drivers/platform/x86/dell/dell-wmi.c
>  
>  DELTA ST MEDIA DRIVER
>  M:   Hugues Fruchet <hugues.fruc...@st.com>
> diff --git a/drivers/platform/x86/Kconfig b/drivers/platform/x86/Kconfig
> index 91e6176cdfbd..211cf907f041 100644
> --- a/drivers/platform/x86/Kconfig
> +++ b/drivers/platform/x86/Kconfig
> @@ -49,18 +49,6 @@ config WMI_BMOF
>         To compile this driver as a module, choose M here: the module will
>         be called wmi-bmof.
>  
> -config ALIENWARE_WMI
> -     tristate "Alienware Special feature control"
> -     depends on ACPI
> -     depends on LEDS_CLASS
> -     depends on NEW_LEDS
> -     depends on ACPI_WMI
> -     help
> -      This is a driver for controlling Alienware BIOS driven
> -      features.  It exposes an interface for controlling the AlienFX
> -      zones on Alienware machines that don't contain a dedicated AlienFX
> -      USB MCU such as the X51 and X51-R2.
> -
>  config HUAWEI_WMI
>       tristate "Huawei WMI laptop extras driver"
>       depends on ACPI_BATTERY
> @@ -327,169 +315,7 @@ config EEEPC_WMI
>         If you have an ACPI-WMI compatible Eee PC laptop (>= 1000), say Y or M
>         here.
>  
> -config DCDBAS
> -     tristate "Dell Systems Management Base Driver"
> -     depends on X86
> -     help
> -       The Dell Systems Management Base Driver provides a sysfs interface
> -       for systems management software to perform System Management
> -       Interrupts (SMIs) and Host Control Actions (system power cycle or
> -       power off after OS shutdown) on certain Dell systems.
> -
> -       See <file:Documentation/driver-api/dcdbas.rst> for more details on 
> the driver
> -       and the Dell systems on which Dell systems management software makes
> -       use of this driver.
> -
> -       Say Y or M here to enable the driver for use by Dell systems
> -       management software such as Dell OpenManage.
> -
> -#
> -# The DELL_SMBIOS driver depends on ACPI_WMI and/or DCDBAS if those
> -# backends are selected. The "depends" line prevents a configuration
> -# where DELL_SMBIOS=y while either of those dependencies =m.
> -#
> -config DELL_SMBIOS
> -     tristate "Dell SMBIOS driver"
> -     depends on DCDBAS || DCDBAS=n
> -     depends on ACPI_WMI || ACPI_WMI=n
> -     help
> -     This provides support for the Dell SMBIOS calling interface.
> -     If you have a Dell computer you should enable this option.
> -
> -     Be sure to select at least one backend for it to work properly.
> -
> -config DELL_SMBIOS_WMI
> -     bool "Dell SMBIOS driver WMI backend"
> -     default y
> -     depends on ACPI_WMI
> -     select DELL_WMI_DESCRIPTOR
> -     depends on DELL_SMBIOS
> -     help
> -     This provides an implementation for the Dell SMBIOS calling interface
> -     communicated over ACPI-WMI.
> -
> -     If you have a Dell computer from >2007 you should say Y here.
> -     If you aren't sure and this module doesn't work for your computer
> -     it just won't load.
> -
> -config DELL_SMBIOS_SMM
> -     bool "Dell SMBIOS driver SMM backend"
> -     default y
> -     depends on DCDBAS
> -     depends on DELL_SMBIOS
> -     help
> -     This provides an implementation for the Dell SMBIOS calling interface
> -     communicated over SMI/SMM.
> -
> -     If you have a Dell computer from <=2017 you should say Y here.
> -     If you aren't sure and this module doesn't work for your computer
> -     it just won't load.
> -
> -config DELL_LAPTOP
> -     tristate "Dell Laptop Extras"
> -     depends on DMI
> -     depends on BACKLIGHT_CLASS_DEVICE
> -     depends on ACPI_VIDEO || ACPI_VIDEO = n
> -     depends on RFKILL || RFKILL = n
> -     depends on SERIO_I8042
> -     depends on DELL_SMBIOS
> -     select POWER_SUPPLY
> -     select LEDS_CLASS
> -     select NEW_LEDS
> -     select LEDS_TRIGGERS
> -     select LEDS_TRIGGER_AUDIO
> -     help
> -     This driver adds support for rfkill and backlight control to Dell
> -     laptops (except for some models covered by the Compal driver).
> -
> -config DELL_RBTN
> -     tristate "Dell Airplane Mode Switch driver"
> -     depends on ACPI
> -     depends on INPUT
> -     depends on RFKILL
> -     help
> -       Say Y here if you want to support Dell Airplane Mode Switch ACPI
> -       device on Dell laptops. Sometimes it has names: DELLABCE or DELRBTN.
> -       This driver register rfkill device or input hotkey device depending
> -       on hardware type (hw switch slider or keyboard toggle button). For
> -       rfkill devices it receive HW switch events and set correct hard
> -       rfkill state.
> -
> -       To compile this driver as a module, choose M here: the module will
> -       be called dell-rbtn.
> -
> -config DELL_RBU
> -     tristate "BIOS update support for DELL systems via sysfs"
> -     depends on X86
> -     select FW_LOADER
> -     select FW_LOADER_USER_HELPER
> -     help
> -      Say m if you want to have the option of updating the BIOS for your
> -      DELL system. Note you need a Dell OpenManage or Dell Update package 
> (DUP)
> -      supporting application to communicate with the BIOS regarding the new
> -      image for the image update to take effect.
> -      See <file:Documentation/admin-guide/dell_rbu.rst> for more details on 
> the driver.
> -
> -config DELL_SMO8800
> -     tristate "Dell Latitude freefall driver (ACPI SMO88XX)"
> -     depends on ACPI
> -     help
> -       Say Y here if you want to support SMO88XX freefall devices
> -       on Dell Latitude laptops.
> -
> -       To compile this driver as a module, choose M here: the module will
> -       be called dell-smo8800.
> -
> -config DELL_WMI
> -     tristate "Dell WMI notifications"
> -     depends on ACPI_WMI
> -     depends on DMI
> -     depends on INPUT
> -     depends on ACPI_VIDEO || ACPI_VIDEO = n
> -     depends on DELL_SMBIOS
> -     select DELL_WMI_DESCRIPTOR
> -     select INPUT_SPARSEKMAP
> -     help
> -       Say Y here if you want to support WMI-based hotkeys on Dell laptops.
> -
> -       To compile this driver as a module, choose M here: the module will
> -       be called dell-wmi.
> -
> -config DELL_WMI_SYSMAN
> -     tristate "Dell WMI-based Systems management driver"
> -     depends on ACPI_WMI
> -     depends on DMI
> -     select NLS
> -     help
> -       This driver allows changing BIOS settings on many Dell machines from
> -       2018 and newer without the use of any additional software.
> -
> -       To compile this driver as a module, choose M here: the module will
> -       be called dell-wmi-sysman.
> -
> -config DELL_WMI_DESCRIPTOR
> -     tristate
> -     depends on ACPI_WMI
> -
> -config DELL_WMI_AIO
> -     tristate "WMI Hotkeys for Dell All-In-One series"
> -     depends on ACPI_WMI
> -     depends on INPUT
> -     select INPUT_SPARSEKMAP
> -     help
> -       Say Y here if you want to support WMI-based hotkeys on Dell
> -       All-In-One machines.
> -
> -       To compile this driver as a module, choose M here: the module will
> -       be called dell-wmi-aio.
> -
> -config DELL_WMI_LED
> -     tristate "External LED on Dell Business Netbooks"
> -     depends on LEDS_CLASS
> -     depends on ACPI_WMI
> -     help
> -       This adds support for the Latitude 2100 and similar
> -       notebooks that have an external LED.
> +source "drivers/platform/x86/dell/Kconfig"
>  
>  config AMILO_RFKILL
>       tristate "Fujitsu-Siemens Amilo rfkill support"
> diff --git a/drivers/platform/x86/Makefile b/drivers/platform/x86/Makefile
> index 581475f59819..98ad9bcac293 100644
> --- a/drivers/platform/x86/Makefile
> +++ b/drivers/platform/x86/Makefile
> @@ -9,7 +9,6 @@ obj-$(CONFIG_ACPI_WMI)                += wmi.o
>  obj-$(CONFIG_WMI_BMOF)               += wmi-bmof.o
>  
>  # WMI drivers
> -obj-$(CONFIG_ALIENWARE_WMI)          += alienware-wmi.o
>  obj-$(CONFIG_HUAWEI_WMI)             += huawei-wmi.o
>  obj-$(CONFIG_INTEL_WMI_SBL_FW_UPDATE)        += intel-wmi-sbl-fw-update.o
>  obj-$(CONFIG_INTEL_WMI_THUNDERBOLT)  += intel-wmi-thunderbolt.o
> @@ -37,20 +36,7 @@ obj-$(CONFIG_EEEPC_LAPTOP) += eeepc-laptop.o
>  obj-$(CONFIG_EEEPC_WMI)              += eeepc-wmi.o
>  
>  # Dell
> -obj-$(CONFIG_DCDBAS)                 += dcdbas.o
> -obj-$(CONFIG_DELL_SMBIOS)            += dell-smbios.o
> -dell-smbios-objs                     := dell-smbios-base.o
> -dell-smbios-$(CONFIG_DELL_SMBIOS_WMI)        += dell-smbios-wmi.o
> -dell-smbios-$(CONFIG_DELL_SMBIOS_SMM)        += dell-smbios-smm.o
> -obj-$(CONFIG_DELL_LAPTOP)            += dell-laptop.o
> -obj-$(CONFIG_DELL_RBTN)                      += dell-rbtn.o
> -obj-$(CONFIG_DELL_RBU)                       += dell_rbu.o
> -obj-$(CONFIG_DELL_SMO8800)           += dell-smo8800.o
> -obj-$(CONFIG_DELL_WMI)                       += dell-wmi.o
> -obj-$(CONFIG_DELL_WMI_DESCRIPTOR)    += dell-wmi-descriptor.o
> -obj-$(CONFIG_DELL_WMI_AIO)           += dell-wmi-aio.o
> -obj-$(CONFIG_DELL_WMI_LED)           += dell-wmi-led.o
> -obj-$(CONFIG_DELL_WMI_SYSMAN)                += dell-wmi-sysman/
> +obj-$(CONFIG_X86_PLATFORM_DRIVERS_DELL)              += dell/
>  
>  # Fujitsu
>  obj-$(CONFIG_AMILO_RFKILL)   += amilo-rfkill.o
> diff --git a/drivers/platform/x86/dell/Kconfig 
> b/drivers/platform/x86/dell/Kconfig
> new file mode 100644
> index 000000000000..31601679d1cc
> --- /dev/null
> +++ b/drivers/platform/x86/dell/Kconfig
> @@ -0,0 +1,207 @@
> +# SPDX-License-Identifier: GPL-2.0-only
> +#
> +# Dell X86 Platform Specific Drivers
> +#
> +
> +menuconfig X86_PLATFORM_DRIVERS_DELL
> +     bool "Dell X86 Platform Specific Device Drivers"
> +     default n
> +     depends on X86_PLATFORM_DEVICES
> +     help
> +       Say Y here to get to see options for device drivers for various
> +       Dell x86 platforms, including vendor-specific laptop extension 
> drivers.
> +       This option alone does not add any kernel code.
> +
> +       If you say N, all options in this submenu will be skipped and 
> disabled.
> +
> +if X86_PLATFORM_DRIVERS_DELL
> +
> +config ALIENWARE_WMI
> +     tristate "Alienware Special feature control"
> +    default m
> +     depends on ACPI
> +     depends on LEDS_CLASS
> +     depends on NEW_LEDS
> +     depends on ACPI_WMI
> +     help
> +      This is a driver for controlling Alienware BIOS driven
> +      features.  It exposes an interface for controlling the AlienFX
> +      zones on Alienware machines that don't contain a dedicated AlienFX
> +      USB MCU such as the X51 and X51-R2.
> +
> +config DCDBAS
> +     tristate "Dell Systems Management Base Driver"
> +    default m
> +     depends on X86
> +     help
> +       The Dell Systems Management Base Driver provides a sysfs interface
> +       for systems management software to perform System Management
> +       Interrupts (SMIs) and Host Control Actions (system power cycle or
> +       power off after OS shutdown) on certain Dell systems.
> +
> +       See <file:Documentation/driver-api/dcdbas.rst> for more details on 
> the driver
> +       and the Dell systems on which Dell systems management software makes
> +       use of this driver.
> +
> +       Say Y or M here to enable the driver for use by Dell systems
> +       management software such as Dell OpenManage.
> +
> +config DELL_LAPTOP
> +     tristate "Dell Laptop Extras"
> +    default m
> +     depends on DMI
> +     depends on BACKLIGHT_CLASS_DEVICE
> +     depends on ACPI_VIDEO || ACPI_VIDEO = n
> +     depends on RFKILL || RFKILL = n
> +     depends on SERIO_I8042
> +     depends on DELL_SMBIOS
> +     select POWER_SUPPLY
> +     select LEDS_CLASS
> +     select NEW_LEDS
> +     select LEDS_TRIGGERS
> +     select LEDS_TRIGGER_AUDIO
> +     help
> +     This driver adds support for rfkill and backlight control to Dell
> +     laptops (except for some models covered by the Compal driver).
> +
> +config DELL_RBU
> +     tristate "BIOS update support for DELL systems via sysfs"
> +    default m
> +     depends on X86
> +     select FW_LOADER
> +     select FW_LOADER_USER_HELPER
> +     help
> +      Say m if you want to have the option of updating the BIOS for your
> +      DELL system. Note you need a Dell OpenManage or Dell Update package 
> (DUP)
> +      supporting application to communicate with the BIOS regarding the new
> +      image for the image update to take effect.
> +      See <file:Documentation/admin-guide/dell_rbu.rst> for more details on 
> the driver.
> +
> +config DELL_RBTN
> +     tristate "Dell Airplane Mode Switch driver"
> +    default m
> +     depends on ACPI
> +     depends on INPUT
> +     depends on RFKILL
> +     help
> +       Say Y here if you want to support Dell Airplane Mode Switch ACPI
> +       device on Dell laptops. Sometimes it has names: DELLABCE or DELRBTN.
> +       This driver register rfkill device or input hotkey device depending
> +       on hardware type (hw switch slider or keyboard toggle button). For
> +       rfkill devices it receive HW switch events and set correct hard
> +       rfkill state.
> +
> +       To compile this driver as a module, choose M here: the module will
> +       be called dell-rbtn.
> +
> +#
> +# The DELL_SMBIOS driver depends on ACPI_WMI and/or DCDBAS if those
> +# backends are selected. The "depends" line prevents a configuration
> +# where DELL_SMBIOS=y while either of those dependencies =m.
> +#
> +config DELL_SMBIOS
> +     tristate "Dell SMBIOS driver"
> +    default m
> +     depends on DCDBAS || DCDBAS=n
> +     depends on ACPI_WMI || ACPI_WMI=n
> +     help
> +     This provides support for the Dell SMBIOS calling interface.
> +     If you have a Dell computer you should enable this option.
> +
> +     Be sure to select at least one backend for it to work properly.
> +
> +config DELL_SMBIOS_WMI
> +     bool "Dell SMBIOS driver WMI backend"
> +     default y
> +     depends on ACPI_WMI
> +     select DELL_WMI_DESCRIPTOR
> +     depends on DELL_SMBIOS
> +     help
> +     This provides an implementation for the Dell SMBIOS calling interface
> +     communicated over ACPI-WMI.
> +
> +     If you have a Dell computer from >2007 you should say Y here.
> +     If you aren't sure and this module doesn't work for your computer
> +     it just won't load.
> +
> +config DELL_SMBIOS_SMM
> +     bool "Dell SMBIOS driver SMM backend"
> +     default y
> +     depends on DCDBAS
> +     depends on DELL_SMBIOS
> +     help
> +     This provides an implementation for the Dell SMBIOS calling interface
> +     communicated over SMI/SMM.
> +
> +     If you have a Dell computer from <=2017 you should say Y here.
> +     If you aren't sure and this module doesn't work for your computer
> +     it just won't load.
> +
> +config DELL_SMO8800
> +     tristate "Dell Latitude freefall driver (ACPI SMO88XX)"
> +    default m
> +     depends on ACPI
> +     help
> +       Say Y here if you want to support SMO88XX freefall devices
> +       on Dell Latitude laptops.
> +
> +       To compile this driver as a module, choose M here: the module will
> +       be called dell-smo8800.
> +
> +config DELL_WMI
> +     tristate "Dell WMI notifications"
> +    default m
> +     depends on ACPI_WMI
> +     depends on DMI
> +     depends on INPUT
> +     depends on ACPI_VIDEO || ACPI_VIDEO = n
> +     depends on DELL_SMBIOS
> +     select DELL_WMI_DESCRIPTOR
> +     select INPUT_SPARSEKMAP
> +     help
> +       Say Y here if you want to support WMI-based hotkeys on Dell laptops.
> +
> +       To compile this driver as a module, choose M here: the module will
> +       be called dell-wmi.
> +
> +config DELL_WMI_AIO
> +     tristate "WMI Hotkeys for Dell All-In-One series"
> +    default m
> +     depends on ACPI_WMI
> +     depends on INPUT
> +     select INPUT_SPARSEKMAP
> +     help
> +       Say Y here if you want to support WMI-based hotkeys on Dell
> +       All-In-One machines.
> +
> +       To compile this driver as a module, choose M here: the module will
> +       be called dell-wmi-aio.
> +
> +config DELL_WMI_DESCRIPTOR
> +     tristate
> +    default m
> +     depends on ACPI_WMI
> +
> +config DELL_WMI_LED
> +     tristate "External LED on Dell Business Netbooks"
> +    default m
> +     depends on LEDS_CLASS
> +     depends on ACPI_WMI
> +     help
> +       This adds support for the Latitude 2100 and similar
> +       notebooks that have an external LED.
> +
> +config DELL_WMI_SYSMAN
> +     tristate "Dell WMI-based Systems management driver"
> +    default m
> +     depends on ACPI_WMI
> +     depends on DMI
> +     select NLS
> +     help
> +       This driver allows changing BIOS settings on many Dell machines from
> +       2018 and newer without the use of any additional software.
> +
> +       To compile this driver as a module, choose M here: the module will
> +       be called dell-wmi-sysman.
> +
> +endif # X86_PLATFORM_DRIVERS_DELL
> diff --git a/drivers/platform/x86/dell/Makefile 
> b/drivers/platform/x86/dell/Makefile
> new file mode 100644
> index 000000000000..d720a3e42ae3
> --- /dev/null
> +++ b/drivers/platform/x86/dell/Makefile
> @@ -0,0 +1,21 @@
> +# SPDX-License-Identifier: GPL-2.0
> +#
> +# Makefile for linux/drivers/platform/x86/dell
> +# Dell x86 Platform-Specific Drivers
> +#
> +
> +obj-$(CONFIG_ALIENWARE_WMI)          += alienware-wmi.o
> +obj-$(CONFIG_DCDBAS)                 += dcdbas.o
> +obj-$(CONFIG_DELL_LAPTOP)            += dell-laptop.o
> +obj-$(CONFIG_DELL_RBTN)                      += dell-rbtn.o
> +obj-$(CONFIG_DELL_RBU)                       += dell_rbu.o
> +obj-$(CONFIG_DELL_SMBIOS)            += dell-smbios.o
> +dell-smbios-objs                     := dell-smbios-base.o
> +dell-smbios-$(CONFIG_DELL_SMBIOS_WMI)        += dell-smbios-wmi.o
> +dell-smbios-$(CONFIG_DELL_SMBIOS_SMM)        += dell-smbios-smm.o
> +obj-$(CONFIG_DELL_SMO8800)           += dell-smo8800.o
> +obj-$(CONFIG_DELL_WMI)                       += dell-wmi.o
> +obj-$(CONFIG_DELL_WMI_AIO)           += dell-wmi-aio.o
> +obj-$(CONFIG_DELL_WMI_DESCRIPTOR)    += dell-wmi-descriptor.o
> +obj-$(CONFIG_DELL_WMI_LED)           += dell-wmi-led.o
> +obj-$(CONFIG_DELL_WMI_SYSMAN)                += dell-wmi-sysman/
> diff --git a/drivers/platform/x86/alienware-wmi.c 
> b/drivers/platform/x86/dell/alienware-wmi.c
> similarity index 100%
> rename from drivers/platform/x86/alienware-wmi.c
> rename to drivers/platform/x86/dell/alienware-wmi.c
> diff --git a/drivers/platform/x86/dcdbas.c 
> b/drivers/platform/x86/dell/dcdbas.c
> similarity index 100%
> rename from drivers/platform/x86/dcdbas.c
> rename to drivers/platform/x86/dell/dcdbas.c
> diff --git a/drivers/platform/x86/dcdbas.h 
> b/drivers/platform/x86/dell/dcdbas.h
> similarity index 100%
> rename from drivers/platform/x86/dcdbas.h
> rename to drivers/platform/x86/dell/dcdbas.h
> diff --git a/drivers/platform/x86/dell-laptop.c 
> b/drivers/platform/x86/dell/dell-laptop.c
> similarity index 100%
> rename from drivers/platform/x86/dell-laptop.c
> rename to drivers/platform/x86/dell/dell-laptop.c
> diff --git a/drivers/platform/x86/dell-rbtn.c 
> b/drivers/platform/x86/dell/dell-rbtn.c
> similarity index 100%
> rename from drivers/platform/x86/dell-rbtn.c
> rename to drivers/platform/x86/dell/dell-rbtn.c
> diff --git a/drivers/platform/x86/dell-rbtn.h 
> b/drivers/platform/x86/dell/dell-rbtn.h
> similarity index 100%
> rename from drivers/platform/x86/dell-rbtn.h
> rename to drivers/platform/x86/dell/dell-rbtn.h
> diff --git a/drivers/platform/x86/dell-smbios-base.c 
> b/drivers/platform/x86/dell/dell-smbios-base.c
> similarity index 100%
> rename from drivers/platform/x86/dell-smbios-base.c
> rename to drivers/platform/x86/dell/dell-smbios-base.c
> diff --git a/drivers/platform/x86/dell-smbios-smm.c 
> b/drivers/platform/x86/dell/dell-smbios-smm.c
> similarity index 100%
> rename from drivers/platform/x86/dell-smbios-smm.c
> rename to drivers/platform/x86/dell/dell-smbios-smm.c
> diff --git a/drivers/platform/x86/dell-smbios-wmi.c 
> b/drivers/platform/x86/dell/dell-smbios-wmi.c
> similarity index 100%
> rename from drivers/platform/x86/dell-smbios-wmi.c
> rename to drivers/platform/x86/dell/dell-smbios-wmi.c
> diff --git a/drivers/platform/x86/dell-smbios.h 
> b/drivers/platform/x86/dell/dell-smbios.h
> similarity index 100%
> rename from drivers/platform/x86/dell-smbios.h
> rename to drivers/platform/x86/dell/dell-smbios.h
> diff --git a/drivers/platform/x86/dell-smo8800.c 
> b/drivers/platform/x86/dell/dell-smo8800.c
> similarity index 100%
> rename from drivers/platform/x86/dell-smo8800.c
> rename to drivers/platform/x86/dell/dell-smo8800.c
> diff --git a/drivers/platform/x86/dell-wmi-aio.c 
> b/drivers/platform/x86/dell/dell-wmi-aio.c
> similarity index 100%
> rename from drivers/platform/x86/dell-wmi-aio.c
> rename to drivers/platform/x86/dell/dell-wmi-aio.c
> diff --git a/drivers/platform/x86/dell-wmi-descriptor.c 
> b/drivers/platform/x86/dell/dell-wmi-descriptor.c
> similarity index 100%
> rename from drivers/platform/x86/dell-wmi-descriptor.c
> rename to drivers/platform/x86/dell/dell-wmi-descriptor.c
> diff --git a/drivers/platform/x86/dell-wmi-descriptor.h 
> b/drivers/platform/x86/dell/dell-wmi-descriptor.h
> similarity index 100%
> rename from drivers/platform/x86/dell-wmi-descriptor.h
> rename to drivers/platform/x86/dell/dell-wmi-descriptor.h
> diff --git a/drivers/platform/x86/dell-wmi-led.c 
> b/drivers/platform/x86/dell/dell-wmi-led.c
> similarity index 100%
> rename from drivers/platform/x86/dell-wmi-led.c
> rename to drivers/platform/x86/dell/dell-wmi-led.c
> diff --git a/drivers/platform/x86/dell-wmi-sysman/Makefile 
> b/drivers/platform/x86/dell/dell-wmi-sysman/Makefile
> similarity index 100%
> rename from drivers/platform/x86/dell-wmi-sysman/Makefile
> rename to drivers/platform/x86/dell/dell-wmi-sysman/Makefile
> diff --git a/drivers/platform/x86/dell-wmi-sysman/biosattr-interface.c 
> b/drivers/platform/x86/dell/dell-wmi-sysman/biosattr-interface.c
> similarity index 100%
> rename from drivers/platform/x86/dell-wmi-sysman/biosattr-interface.c
> rename to drivers/platform/x86/dell/dell-wmi-sysman/biosattr-interface.c
> diff --git a/drivers/platform/x86/dell-wmi-sysman/dell-wmi-sysman.h 
> b/drivers/platform/x86/dell/dell-wmi-sysman/dell-wmi-sysman.h
> similarity index 100%
> rename from drivers/platform/x86/dell-wmi-sysman/dell-wmi-sysman.h
> rename to drivers/platform/x86/dell/dell-wmi-sysman/dell-wmi-sysman.h
> diff --git a/drivers/platform/x86/dell-wmi-sysman/enum-attributes.c 
> b/drivers/platform/x86/dell/dell-wmi-sysman/enum-attributes.c
> similarity index 100%
> rename from drivers/platform/x86/dell-wmi-sysman/enum-attributes.c
> rename to drivers/platform/x86/dell/dell-wmi-sysman/enum-attributes.c
> diff --git a/drivers/platform/x86/dell-wmi-sysman/int-attributes.c 
> b/drivers/platform/x86/dell/dell-wmi-sysman/int-attributes.c
> similarity index 100%
> rename from drivers/platform/x86/dell-wmi-sysman/int-attributes.c
> rename to drivers/platform/x86/dell/dell-wmi-sysman/int-attributes.c
> diff --git a/drivers/platform/x86/dell-wmi-sysman/passobj-attributes.c 
> b/drivers/platform/x86/dell/dell-wmi-sysman/passobj-attributes.c
> similarity index 100%
> rename from drivers/platform/x86/dell-wmi-sysman/passobj-attributes.c
> rename to drivers/platform/x86/dell/dell-wmi-sysman/passobj-attributes.c
> diff --git a/drivers/platform/x86/dell-wmi-sysman/passwordattr-interface.c 
> b/drivers/platform/x86/dell/dell-wmi-sysman/passwordattr-interface.c
> similarity index 100%
> rename from drivers/platform/x86/dell-wmi-sysman/passwordattr-interface.c
> rename to drivers/platform/x86/dell/dell-wmi-sysman/passwordattr-interface.c
> diff --git a/drivers/platform/x86/dell-wmi-sysman/string-attributes.c 
> b/drivers/platform/x86/dell/dell-wmi-sysman/string-attributes.c
> similarity index 100%
> rename from drivers/platform/x86/dell-wmi-sysman/string-attributes.c
> rename to drivers/platform/x86/dell/dell-wmi-sysman/string-attributes.c
> diff --git a/drivers/platform/x86/dell-wmi-sysman/sysman.c 
> b/drivers/platform/x86/dell/dell-wmi-sysman/sysman.c
> similarity index 100%
> rename from drivers/platform/x86/dell-wmi-sysman/sysman.c
> rename to drivers/platform/x86/dell/dell-wmi-sysman/sysman.c
> diff --git a/drivers/platform/x86/dell-wmi.c 
> b/drivers/platform/x86/dell/dell-wmi.c
> similarity index 100%
> rename from drivers/platform/x86/dell-wmi.c
> rename to drivers/platform/x86/dell/dell-wmi.c
> diff --git a/drivers/platform/x86/dell_rbu.c 
> b/drivers/platform/x86/dell/dell_rbu.c
> similarity index 100%
> rename from drivers/platform/x86/dell_rbu.c
> rename to drivers/platform/x86/dell/dell_rbu.c
> 

Reply via email to