mirror of
https://github.com/torvalds/linux.git
synced 2026-04-27 02:52:27 -04:00
Various Dell laptops have an lis3lv02d freefall/accelerometer sensor. The lis3lv02d chip has an interrupt line as well as an I2C connection to the system's main SMBus. The lis3lv02d is described in the ACPI tables by an SMO88xx ACPI device, but the SMO88xx ACPI fwnodes are incomplete and only list an IRQ resource. So far this has been worked around with some SMO88xx specific quirk code in the generic i2c-i801 driver, but it is not necessary to handle the Dell specific instantiation of i2c_client-s for SMO88xx ACPI devices there. The kernel already instantiates platform_device-s for these with an acpi:SMO88xx modalias. The drivers/platform/x86/dell/dell-smo8800.c driver binds to this platform device but this only deals with the interrupt resource. Add a drivers/platform/x86/dell/dell-lis3lv02d.c which will matches on the same acpi:SMO88xx modaliases and move the i2c_client instantiation from the generic i2c-i801 driver there. Moving the i2c_client instantiation has the following advantages: 1. This moves the SMO88xx ACPI device quirk handling away from the generic i2c-i801 module which is loaded on all Intel x86 machines to a module which will only be loaded when there is an ACPI SMO88xx device. 2. This removes the duplication of the SMO88xx ACPI Hardware ID (HID) table between the i2c-i801 and dell-smo8800 drivers. 3. This allows extending the quirk handling by adding new code and related module parameters to the dell-lis3lv02d driver, without needing to modify the i2c-i801 code. Reviewed-by: Pali Rohár <pali@kernel.org> Signed-off-by: Hans de Goede <hdegoede@redhat.com> Acked-by: Wolfram Sang <wsa@kernel.org> Link: https://lore.kernel.org/r/20241209183557.7560-3-hdegoede@redhat.com Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com> Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
259 lines
7.7 KiB
Plaintext
259 lines
7.7 KiB
Plaintext
# SPDX-License-Identifier: GPL-2.0-only
|
|
#
|
|
# Dell X86 Platform Specific Drivers
|
|
#
|
|
|
|
menuconfig X86_PLATFORM_DRIVERS_DELL
|
|
bool "Dell X86 Platform Specific Device Drivers"
|
|
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
|
|
select ACPI_PLATFORM_PROFILE
|
|
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/userspace-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_BATTERY
|
|
depends on ACPI_VIDEO || ACPI_VIDEO = n
|
|
depends on RFKILL || RFKILL = n
|
|
depends on DELL_WMI || DELL_WMI = n
|
|
depends on SERIO_I8042
|
|
depends on DELL_SMBIOS
|
|
select POWER_SUPPLY
|
|
select LEDS_CLASS
|
|
select NEW_LEDS
|
|
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.
|
|
|
|
config DELL_PC
|
|
tristate "Dell PC Extras"
|
|
default m
|
|
depends on ACPI
|
|
depends on DMI
|
|
depends on DELL_SMBIOS
|
|
select ACPI_PLATFORM_PROFILE
|
|
help
|
|
This driver adds support for controlling the fan modes via platform_profile
|
|
on supported Dell systems regardless of formfactor.
|
|
Module will simply do nothing if thermal management commands are not
|
|
supported.
|
|
|
|
#
|
|
# 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 I2C
|
|
depends on ACPI || COMPILE_TEST
|
|
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_UART_BACKLIGHT
|
|
tristate "Dell AIO UART Backlight driver"
|
|
depends on ACPI
|
|
depends on ACPI_VIDEO
|
|
depends on BACKLIGHT_CLASS_DEVICE
|
|
depends on SERIAL_DEV_BUS
|
|
help
|
|
Say Y here if you want to support Dell AIO UART backlight interface.
|
|
The Dell AIO machines released after 2017 come with a UART interface
|
|
to communicate with the backlight scalar board. This driver creates
|
|
a standard backlight interface and talks to the scalar board through
|
|
UART to adjust the AIO screen brightness.
|
|
|
|
To compile this driver as a module, choose M here: the module will
|
|
be called dell_uart_backlight.
|
|
|
|
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_PRIVACY
|
|
bool "Dell WMI Hardware Privacy Support"
|
|
depends on DELL_WMI
|
|
depends on ACPI_EC
|
|
help
|
|
This option adds integration with the "Dell Hardware Privacy"
|
|
feature of Dell laptops to the dell-wmi driver.
|
|
|
|
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 n
|
|
depends on ACPI_WMI
|
|
|
|
config DELL_WMI_DDV
|
|
tristate "Dell WMI sensors Support"
|
|
default m
|
|
depends on ACPI_WMI
|
|
depends on ACPI_BATTERY || HWMON
|
|
help
|
|
This option adds support for WMI-based fan and thermal sensors
|
|
found on some Dell notebooks. It also supports various WMI-based battery
|
|
extras like reading of the battery temperature and ePPID.
|
|
|
|
To compile this drivers as a module, choose M here: the module will
|
|
be called dell-wmi-ddv.
|
|
|
|
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
|
|
select FW_ATTR_CLASS
|
|
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
|