# SPDX-License-Identifier: GPL-2.0-only # # Lenovo X86 Platform Specific Drivers # config IDEAPAD_LAPTOP tristate "Lenovo IdeaPad Laptop Extras" depends on ACPI depends on ACPI_BATTERY depends on RFKILL && INPUT depends on SERIO_I8042 depends on BACKLIGHT_CLASS_DEVICE depends on ACPI_VIDEO || ACPI_VIDEO = n depends on ACPI_WMI || ACPI_WMI = n select ACPI_PLATFORM_PROFILE select INPUT_SPARSEKMAP select NEW_LEDS select LEDS_CLASS help This is a driver for Lenovo IdeaPad netbooks contains drivers for rfkill switch, hotkey, fan control and backlight control. config LENOVO_WMI_HOTKEY_UTILITIES tristate "Lenovo Hotkey Utility WMI extras driver" depends on ACPI_WMI select NEW_LEDS select LEDS_CLASS imply IDEAPAD_LAPTOP help This driver provides WMI support for Lenovo customized hotkeys function, such as LED control for audio/mic mute event for Ideapad, YOGA, XiaoXin, Gaming, ThinkBook and so on. config LENOVO_WMI_CAMERA tristate "Lenovo WMI Camera Button driver" depends on ACPI_WMI depends on INPUT help This driver provides support for Lenovo camera button. The Camera button is a GPIO device. This driver receives ACPI notifications when the camera button is switched on/off. To compile this driver as a module, choose M here: the module will be called lenovo-wmi-camera. config LENOVO_YMC tristate "Lenovo Yoga Tablet Mode Control" depends on ACPI_WMI depends on INPUT depends on IDEAPAD_LAPTOP select INPUT_SPARSEKMAP help This driver maps the Tablet Mode Control switch to SW_TABLET_MODE input events for Lenovo Yoga notebooks. config THINKPAD_ACPI tristate "ThinkPad ACPI Laptop Extras" depends on ACPI_EC depends on ACPI_BATTERY depends on INPUT depends on RFKILL || RFKILL = n depends on ACPI_VIDEO || ACPI_VIDEO = n depends on BACKLIGHT_CLASS_DEVICE depends on I2C depends on DRM select ACPI_PLATFORM_PROFILE select DRM_PRIVACY_SCREEN select HWMON select NVRAM select NEW_LEDS select LEDS_CLASS select INPUT_SPARSEKMAP help This is a driver for the IBM and Lenovo ThinkPad laptops. It adds support for Fn-Fx key combinations, Bluetooth control, video output switching, ThinkLight control, UltraBay eject and more. For more information about this driver see and . This driver was formerly known as ibm-acpi. Extra functionality will be available if the rfkill (CONFIG_RFKILL) and/or ALSA (CONFIG_SND) subsystems are available in the kernel. Note that if you want ThinkPad-ACPI to be built-in instead of modular, ALSA and rfkill will also have to be built-in. If you have an IBM or Lenovo ThinkPad laptop, say Y or M here. config THINKPAD_ACPI_ALSA_SUPPORT bool "Console audio control ALSA interface" depends on THINKPAD_ACPI depends on SND depends on SND = y || THINKPAD_ACPI = SND default y help Enables monitoring of the built-in console audio output control (headphone and speakers), which is operated by the mute and (in some ThinkPad models) volume hotkeys. If this option is enabled, ThinkPad-ACPI will export an ALSA card with a single read-only mixer control, which should be used for on-screen-display feedback purposes by the Desktop Environment. Optionally, the driver will also allow software control (the ALSA mixer will be made read-write). Please refer to the driver documentation for details. All IBM models have both volume and mute control. Newer Lenovo models only have mute control (the volume hotkeys are just normal keys and volume control is done through the main HDA mixer). config THINKPAD_ACPI_DEBUGFACILITIES bool "Maintainer debug facilities" depends on THINKPAD_ACPI help Enables extra stuff in the thinkpad-acpi which is completely useless for normal use. Read the driver source to find out what it does. Say N here, unless you were told by a kernel maintainer to do otherwise. config THINKPAD_ACPI_DEBUG bool "Verbose debug mode" depends on THINKPAD_ACPI help Enables extra debugging information, at the expense of a slightly increase in driver size. If you are not sure, say N here. config THINKPAD_ACPI_UNSAFE_LEDS bool "Allow control of important LEDs (unsafe)" depends on THINKPAD_ACPI help Overriding LED state on ThinkPads can mask important firmware alerts (like critical battery condition), or misled the user into damaging the hardware (undocking or ejecting the bay while buses are still active), etc. LED control on the ThinkPad is write-only (with very few exceptions on very ancient models), which makes it impossible to know beforehand if important information will be lost when one changes LED state. Users that know what they are doing can enable this option and the driver will allow control of every LED, including the ones on the dock stations. Never enable this option on a distribution kernel. Say N here, unless you are building a kernel for your own use, and need to control the important firmware LEDs. config THINKPAD_ACPI_VIDEO bool "Video output control support" depends on THINKPAD_ACPI default y help Allows the thinkpad_acpi driver to provide an interface to control the various video output ports. This feature often won't work well, depending on ThinkPad model, display state, video output devices in use, whether there is a X server running, phase of the moon, and the current mood of Schroedinger's cat. If you can use X.org's RandR to control your ThinkPad's video output ports instead of this feature, don't think twice: do it and say N here to save memory and avoid bad interactions with X.org. NOTE: access to this feature is limited to processes with the CAP_SYS_ADMIN capability, to avoid local DoS issues in platforms where it interacts badly with X.org. If you are not sure, say Y here but do try to check if you could be using X.org RandR instead. config THINKPAD_ACPI_HOTKEY_POLL bool "Support NVRAM polling for hot keys" depends on THINKPAD_ACPI default y help Some thinkpad models benefit from NVRAM polling to detect a few of the hot key press events. If you know your ThinkPad model does not need to do NVRAM polling to support any of the hot keys you use, unselecting this option will save about 1kB of memory. ThinkPads T40 and newer, R52 and newer, and X31 and newer are unlikely to need NVRAM polling in their latest BIOS versions. NVRAM polling can detect at most the following keys: ThinkPad/Access IBM, Zoom, Switch Display (fn+F7), ThinkLight, Volume up/down/mute, Brightness up/down, Display Expand (fn+F8), Hibernate (fn+F12). If you are not sure, say Y here. The driver enables polling only if it is strictly necessary to do so. config THINKPAD_LMI tristate "Lenovo WMI-based systems management driver" depends on ACPI_WMI depends on DMI select FW_ATTR_CLASS help This driver allows changing BIOS settings on Lenovo machines whose BIOS support the WMI interface. To compile this driver as a module, choose M here: the module will be called think-lmi. config YOGABOOK tristate "Lenovo Yoga Book tablet key driver" depends on ACPI_WMI depends on INPUT depends on I2C select LEDS_CLASS select NEW_LEDS help Say Y here if you want to support the 'Pen' key and keyboard backlight control on the Lenovo Yoga Book tablets. To compile this driver as a module, choose M here: the module will be called lenovo-yogabook. config YT2_1380 tristate "Lenovo Yoga Tablet 2 1380 fast charge driver" depends on SERIAL_DEV_BUS depends on EXTCON depends on ACPI help Say Y here to enable support for the custom fast charging protocol found on the Lenovo Yoga Tablet 2 1380F / 1380L models. To compile this driver as a module, choose M here: the module will be called lenovo-yogabook. config LENOVO_WMI_DATA01 tristate depends on ACPI_WMI config LENOVO_WMI_EVENTS tristate depends on ACPI_WMI config LENOVO_WMI_HELPERS tristate depends on ACPI_WMI config LENOVO_WMI_GAMEZONE tristate "Lenovo GameZone WMI Driver" depends on ACPI_WMI depends on DMI select ACPI_PLATFORM_PROFILE select LENOVO_WMI_EVENTS select LENOVO_WMI_HELPERS select LENOVO_WMI_TUNING help Say Y here if you have a WMI aware Lenovo Legion device and would like to use the platform-profile firmware interface to manage power usage. To compile this driver as a module, choose M here: the module will be called lenovo-wmi-gamezone. config LENOVO_WMI_TUNING tristate "Lenovo Other Mode WMI Driver" depends on ACPI_WMI select FW_ATTR_CLASS select LENOVO_WMI_DATA01 select LENOVO_WMI_EVENTS select LENOVO_WMI_HELPERS help Say Y here if you have a WMI aware Lenovo Legion device and would like to use the firmware_attributes API to control various tunable settings typically exposed by Lenovo software in Windows. To compile this driver as a module, choose M here: the module will be called lenovo-wmi-other.