# SPDX-License-Identifier: GPL-2.0-only # # X86 Platform Specific Drivers # menuconfig X86_PLATFORM_DEVICES bool "X86 Platform Specific Device Drivers" default y depends on X86 ---help--- Say Y here to get to see options for device drivers for various 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_DEVICES config ACPI_WMI tristate "WMI" depends on ACPI help This driver adds support for the ACPI-WMI (Windows Management Instrumentation) mapper device (PNP0C14) found on some systems. ACPI-WMI is a proprietary extension to ACPI to expose parts of the ACPI firmware to userspace - this is done through various vendor defined methods and data blocks in a PNP0C14 device, which are then made available for userspace to call. The implementation of this in Linux currently only exposes this to other kernel space drivers. This driver is a required dependency to build the firmware specific drivers needed on many machines, including Acer and HP laptops. It is safe to enable this driver even if your DSDT doesn't define any ACPI-WMI devices. config WMI_BMOF tristate "WMI embedded Binary MOF driver" depends on ACPI_WMI default ACPI_WMI ---help--- Say Y here if you want to be able to read a firmware-embedded WMI Binary MOF data. Using this requires userspace tools and may be rather tedious. 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 depends on ACPI_WMI depends on INPUT select INPUT_SPARSEKMAP select LEDS_CLASS select LEDS_TRIGGERS select LEDS_TRIGGER_AUDIO select NEW_LEDS help This driver provides support for Huawei WMI hotkeys, battery charge control, fn-lock, mic-mute LED, and other extra features. To compile this driver as a module, choose M here: the module will be called huawei-wmi. config INTEL_WMI_SBL_FW_UPDATE tristate "Intel WMI Slim Bootloader firmware update signaling driver" depends on ACPI_WMI help Say Y here if you want to be able to use the WMI interface to signal Slim Bootloader to trigger update on next reboot. To compile this driver as a module, choose M here: the module will be called intel-wmi-sbl-fw-update. config INTEL_WMI_THUNDERBOLT tristate "Intel WMI thunderbolt force power driver" depends on ACPI_WMI ---help--- Say Y here if you want to be able to use the WMI interface on select systems to force the power control of Intel Thunderbolt controllers. This is useful for updating the firmware when devices are not plugged into the controller. To compile this driver as a module, choose M here: the module will be called intel-wmi-thunderbolt. config MXM_WMI tristate "WMI support for MXM Laptop Graphics" depends on ACPI_WMI ---help--- MXM is a standard for laptop graphics cards, the WMI interface is required for switchable nvidia graphics machines config PEAQ_WMI tristate "PEAQ 2-in-1 WMI hotkey driver" depends on ACPI_WMI depends on INPUT help Say Y here if you want to support WMI-based hotkeys on PEAQ 2-in-1s. config XIAOMI_WMI tristate "Xiaomi WMI key driver" depends on ACPI_WMI depends on INPUT help Say Y here if you want to support WMI-based keys on Xiaomi notebooks. To compile this driver as a module, choose M here: the module will be called xiaomi-wmi. config ACERHDF tristate "Acer Aspire One temperature and fan driver" depends on ACPI && THERMAL select THERMAL_GOV_BANG_BANG ---help--- This is a driver for Acer Aspire One netbooks. It allows to access the temperature sensor and to control the fan. After loading this driver the BIOS is still in control of the fan. To let the kernel handle the fan, do: echo -n enabled > /sys/class/thermal/thermal_zoneN/mode where N=0,1,2... depending on the number of thermal nodes and the detection order of your particular system. The "type" parameter in the same node directory will tell you if it is "acerhdf". For more information about this driver see If you have an Acer Aspire One netbook, say Y or M here. config ACER_WIRELESS tristate "Acer Wireless Radio Control Driver" depends on ACPI depends on INPUT ---help--- The Acer Wireless Radio Control handles the airplane mode hotkey present on new Acer laptops. Say Y or M here if you have an Acer notebook with an airplane mode hotkey. If you choose to compile this driver as a module the module will be called acer-wireless. config ACER_WMI tristate "Acer WMI Laptop Extras" depends on ACPI select LEDS_CLASS select NEW_LEDS depends on BACKLIGHT_CLASS_DEVICE depends on SERIO_I8042 depends on INPUT depends on RFKILL || RFKILL = n depends on ACPI_WMI select INPUT_SPARSEKMAP # Acer WMI depends on ACPI_VIDEO when ACPI is enabled select ACPI_VIDEO if ACPI ---help--- This is a driver for newer Acer (and Wistron) laptops. It adds wireless radio and bluetooth control, and on some laptops, exposes the mail LED and LCD backlight. If you have an ACPI-WMI compatible Acer/ Wistron laptop, say Y or M here. config APPLE_GMUX tristate "Apple Gmux Driver" depends on ACPI && PCI depends on PNP depends on BACKLIGHT_CLASS_DEVICE depends on BACKLIGHT_APPLE=n || BACKLIGHT_APPLE depends on ACPI_VIDEO=n || ACPI_VIDEO ---help--- This driver provides support for the gmux device found on many Apple laptops, which controls the display mux for the hybrid graphics as well as the backlight. Currently only backlight control is supported by the driver. config ASUS_LAPTOP tristate "Asus Laptop Extras" depends on ACPI select LEDS_CLASS select NEW_LEDS depends on BACKLIGHT_CLASS_DEVICE depends on INPUT depends on RFKILL || RFKILL = n depends on ACPI_VIDEO || ACPI_VIDEO = n select INPUT_SPARSEKMAP ---help--- This is a driver for Asus laptops, Lenovo SL and the Pegatron Lucid tablet. It may also support some MEDION, JVC or VICTOR laptops. It makes all the extra buttons generate standard ACPI events and input events, and on the Lucid the built-in accelerometer appears as an input device. It also adds support for video output switching, LCD backlight control, Bluetooth and Wlan control, and most importantly, allows you to blink those fancy LEDs. For more information see . If you have an ACPI-compatible ASUS laptop, say Y or M here. config ASUS_WIRELESS tristate "Asus Wireless Radio Control Driver" depends on ACPI depends on INPUT select NEW_LEDS select LEDS_CLASS ---help--- The Asus Wireless Radio Control handles the airplane mode hotkey present on some Asus laptops. Say Y or M here if you have an ASUS notebook with an airplane mode hotkey. If you choose to compile this driver as a module the module will be called asus-wireless. config ASUS_WMI tristate "ASUS WMI Driver" depends on ACPI_WMI depends on ACPI_BATTERY depends on INPUT depends on HWMON depends on BACKLIGHT_CLASS_DEVICE depends on RFKILL || RFKILL = n depends on HOTPLUG_PCI depends on ACPI_VIDEO || ACPI_VIDEO = n select INPUT_SPARSEKMAP select LEDS_CLASS select NEW_LEDS ---help--- Say Y here if you have a WMI aware Asus laptop (like Eee PCs or new Asus Notebooks). To compile this driver as a module, choose M here: the module will be called asus-wmi. config ASUS_NB_WMI tristate "Asus Notebook WMI Driver" depends on ASUS_WMI depends on SERIO_I8042 || SERIO_I8042 = n ---help--- This is a driver for newer Asus notebooks. It adds extra features like wireless radio and bluetooth control, leds, hotkeys, backlight... For more information, see If you have an ACPI-WMI compatible Asus Notebook, say Y or M here. config EEEPC_LAPTOP tristate "Eee PC Hotkey Driver" depends on ACPI depends on INPUT depends on RFKILL || RFKILL = n depends on ACPI_VIDEO || ACPI_VIDEO = n depends on HOTPLUG_PCI depends on BACKLIGHT_CLASS_DEVICE select HWMON select LEDS_CLASS select NEW_LEDS select INPUT_SPARSEKMAP ---help--- This driver supports the Fn-Fx keys on Eee PC laptops. It also gives access to some extra laptop functionalities like Bluetooth, backlight and allows powering on/off some other devices. If you have an Eee PC laptop, say Y or M here. If this driver doesn't work on your Eee PC, try eeepc-wmi instead. config EEEPC_WMI tristate "Eee PC WMI Driver" depends on ASUS_WMI ---help--- This is a driver for newer Eee PC laptops. It adds extra features like wireless radio and bluetooth control, leds, hotkeys, backlight... For more information, see 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 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 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_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. config AMILO_RFKILL tristate "Fujitsu-Siemens Amilo rfkill support" depends on RFKILL depends on SERIO_I8042 ---help--- This is a driver for enabling wifi on some Fujitsu-Siemens Amilo laptops. config FUJITSU_LAPTOP tristate "Fujitsu Laptop Extras" depends on ACPI depends on INPUT depends on BACKLIGHT_CLASS_DEVICE depends on ACPI_VIDEO || ACPI_VIDEO = n select INPUT_SPARSEKMAP select LEDS_CLASS ---help--- This is a driver for laptops built by Fujitsu: * P2xxx/P5xxx/S6xxx/S7xxx series Lifebooks * Possibly other Fujitsu laptop models * Tested with S6410 and S7020 It adds support for LCD brightness control and some hotkeys. If you have a Fujitsu laptop, say Y or M here. config FUJITSU_TABLET tristate "Fujitsu Tablet Extras" depends on ACPI depends on INPUT ---help--- This is a driver for tablets built by Fujitsu: * Lifebook P1510/P1610/P1620/Txxxx * Stylistic ST5xxx * Possibly other Fujitsu tablet models It adds support for the panel buttons, docking station detection, tablet/notebook mode detection for convertible and orientation detection for docked slates. If you have a Fujitsu convertible or slate, say Y or M here. config GPD_POCKET_FAN tristate "GPD Pocket Fan Controller support" depends on ACPI depends on THERMAL ---help--- Driver for the GPD Pocket vendor specific FAN02501 ACPI device which controls the fan speed on the GPD Pocket. Without this driver the fan on the Pocket will stay off independent of the CPU temperature. Say Y or M if the kernel may be used on a GPD pocket. config HP_ACCEL tristate "HP laptop accelerometer" depends on INPUT && ACPI depends on SERIO_I8042 select SENSORS_LIS3LV02D select NEW_LEDS select LEDS_CLASS help This driver provides support for the "Mobile Data Protection System 3D" or "3D DriveGuard" feature of HP laptops. On such systems the driver should load automatically (via ACPI alias). Support for a led indicating disk protection will be provided as hp::hddprotect. For more information on the feature, refer to Documentation/misc-devices/lis3lv02d.rst. To compile this driver as a module, choose M here: the module will be called hp_accel. config HP_WIRELESS tristate "HP wireless button" depends on ACPI depends on INPUT help This driver provides supports for new HP wireless button for Windows 8. On such systems the driver should load automatically (via ACPI alias). To compile this driver as a module, choose M here: the module will be called hp-wireless. config HP_WMI tristate "HP WMI extras" depends on ACPI_WMI depends on INPUT depends on RFKILL || RFKILL = n select INPUT_SPARSEKMAP help Say Y here if you want to support WMI-based hotkeys on HP laptops and to read data from WMI such as docking or ambient light sensor state. To compile this driver as a module, choose M here: the module will be called hp-wmi. config TC1100_WMI tristate "HP Compaq TC1100 Tablet WMI Extras" depends on !X86_64 depends on ACPI depends on ACPI_WMI ---help--- This is a driver for the WMI extensions (wireless and bluetooth power control) of the HP Compaq TC1100 tablet. config IBM_RTL tristate "Device driver to enable PRTL support" depends on PCI ---help--- Enable support for IBM Premium Real Time Mode (PRTM). This module will allow you the enter and exit PRTM in the BIOS via sysfs on platforms that support this feature. System in PRTM will not receive CPU-generated SMIs for recoverable errors. Use of this feature without proper support may void your hardware warranty. If the proper BIOS support is found the driver will load and create /sys/devices/system/ibm_rtl/. The "state" variable will indicate whether or not the BIOS is in PRTM. state = 0 (BIOS SMIs on) state = 1 (BIOS SMIs off) config IDEAPAD_LAPTOP tristate "Lenovo IdeaPad Laptop Extras" depends on ACPI 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 INPUT_SPARSEKMAP help This is a driver for Lenovo IdeaPad netbooks contains drivers for rfkill switch, hotkey, fan control and backlight control. config SENSORS_HDAPS tristate "Thinkpad Hard Drive Active Protection System (hdaps)" depends on INPUT help This driver provides support for the IBM Hard Drive Active Protection System (hdaps), which provides an accelerometer and other misc. data. ThinkPads starting with the R50, T41, and X40 are supported. The accelerometer data is readable via sysfs. This driver also provides an absolute input class device, allowing the laptop to act as a pinball machine-esque joystick. If your ThinkPad is not recognized by the driver, please update to latest BIOS. This is especially the case for some R52 ThinkPads. Say Y here if you have an applicable laptop and want to experience the awesome power of hdaps. config THINKPAD_ACPI tristate "ThinkPad ACPI Laptop Extras" depends on ACPI depends on ACPI_BATTERY depends on INPUT depends on RFKILL || RFKILL = n depends on ACPI_VIDEO || ACPI_VIDEO = n depends on BACKLIGHT_CLASS_DEVICE select HWMON select NVRAM select NEW_LEDS select LEDS_CLASS select LEDS_TRIGGERS select LEDS_TRIGGER_AUDIO ---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 INTEL_ATOMISP2_PM tristate "Intel AtomISP2 dummy / power-management driver" depends on PCI && IOSF_MBI && PM depends on !INTEL_ATOMISP help Power-management driver for Intel's Image Signal Processor found on Bay Trail and Cherry Trail devices. This dummy driver's sole purpose is to turn the ISP off (put it in D3) to save power and to allow entering of S0ix modes. To compile this driver as a module, choose M here: the module will be called intel_atomisp2_pm. config INTEL_CHT_INT33FE tristate "Intel Cherry Trail ACPI INT33FE Driver" depends on X86 && ACPI && I2C && REGULATOR depends on CHARGER_BQ24190=y || (CHARGER_BQ24190=m && m) depends on USB_ROLES_INTEL_XHCI=y || (USB_ROLES_INTEL_XHCI=m && m) depends on TYPEC_MUX_PI3USB30532=y || (TYPEC_MUX_PI3USB30532=m && m) ---help--- This driver add support for the INT33FE ACPI device found on some Intel Cherry Trail devices. There are two kinds of INT33FE ACPI device possible: for hardware with USB Type-C and Micro-B connectors. This driver supports both. The INT33FE ACPI device has a CRS table with I2cSerialBusV2 resources for Fuel Gauge Controller and (in the Type-C variant) FUSB302 USB Type-C Controller and PI3USB30532 USB switch. This driver instantiates i2c-clients for these, so that standard i2c drivers for these chips can bind to the them. If you enable this driver it is advised to also select CONFIG_BATTERY_BQ27XXX=m or CONFIG_BATTERY_BQ27XXX_I2C=m for Micro-B device and CONFIG_TYPEC_FUSB302=m and CONFIG_BATTERY_MAX17042=m for Type-C device. config INTEL_HID_EVENT tristate "INTEL HID Event" depends on ACPI depends on INPUT select INPUT_SPARSEKMAP help This driver provides support for the Intel HID Event hotkey interface. Some laptops require this driver for hotkey support. To compile this driver as a module, choose M here: the module will be called intel_hid. config INTEL_INT0002_VGPIO tristate "Intel ACPI INT0002 Virtual GPIO driver" depends on GPIOLIB && ACPI select GPIOLIB_IRQCHIP ---help--- Some peripherals on Bay Trail and Cherry Trail platforms signal a Power Management Event (PME) to the Power Management Controller (PMC) to wakeup the system. When this happens software needs to explicitly clear the PME bus 0 status bit in the GPE0a_STS register to avoid an IRQ storm on IRQ 9. This is modelled in ACPI through the INT0002 ACPI device, which is called a "Virtual GPIO controller" in ACPI because it defines the event handler to call when the PME triggers through _AEI and _L02 methods as would be done for a real GPIO interrupt in ACPI. To compile this driver as a module, choose M here: the module will be called intel_int0002_vgpio. config INTEL_MENLOW tristate "Thermal Management driver for Intel menlow platform" depends on ACPI_THERMAL select THERMAL ---help--- ACPI thermal management enhancement driver on Intel Menlow platform. If unsure, say N. config INTEL_OAKTRAIL tristate "Intel Oaktrail Platform Extras" depends on ACPI depends on ACPI_VIDEO || ACPI_VIDEO = n depends on RFKILL && BACKLIGHT_CLASS_DEVICE && ACPI ---help--- Intel Oaktrail platform need this driver to provide interfaces to enable/disable the Camera, WiFi, BT etc. devices. If in doubt, say Y here; it will only load on supported platforms. config INTEL_VBTN tristate "INTEL VIRTUAL BUTTON" depends on ACPI depends on INPUT select INPUT_SPARSEKMAP help This driver provides support for the Intel Virtual Button interface. Some laptops require this driver for power button support. To compile this driver as a module, choose M here: the module will be called intel_vbtn. config SURFACE3_WMI tristate "Surface 3 WMI Driver" depends on ACPI_WMI depends on DMI depends on INPUT depends on SPI ---help--- Say Y here if you have a Surface 3. To compile this driver as a module, choose M here: the module will be called surface3-wmi. config SURFACE_3_BUTTON tristate "Power/home/volume buttons driver for Microsoft Surface 3 tablet" depends on ACPI && KEYBOARD_GPIO && I2C ---help--- This driver handles the power/home/volume buttons on the Microsoft Surface 3 tablet. config SURFACE_3_POWER_OPREGION tristate "Surface 3 battery platform operation region support" depends on ACPI && I2C help This driver provides support for ACPI operation region of the Surface 3 battery platform driver. config SURFACE_PRO3_BUTTON tristate "Power/home/volume buttons driver for Microsoft Surface Pro 3/4 tablet" depends on ACPI && INPUT ---help--- This driver handles the power/home/volume buttons on the Microsoft Surface Pro 3/4 tablet. config MSI_LAPTOP tristate "MSI Laptop Extras" depends on ACPI depends on BACKLIGHT_CLASS_DEVICE depends on ACPI_VIDEO || ACPI_VIDEO = n depends on RFKILL depends on INPUT && SERIO_I8042 select INPUT_SPARSEKMAP ---help--- This is a driver for laptops built by MSI (MICRO-STAR INTERNATIONAL): MSI MegaBook S270 (MS-1013) Cytron/TCM/Medion/Tchibo MD96100/SAM2000 It adds support for Bluetooth, WLAN and LCD brightness control. More information about this driver is available at . If you have an MSI S270 laptop, say Y or M here. config MSI_WMI tristate "MSI WMI extras" depends on ACPI_WMI depends on INPUT depends on BACKLIGHT_CLASS_DEVICE depends on ACPI_VIDEO || ACPI_VIDEO = n select INPUT_SPARSEKMAP help Say Y here if you want to support WMI-based hotkeys on MSI laptops. To compile this driver as a module, choose M here: the module will be called msi-wmi. config XO15_EBOOK tristate "OLPC XO-1.5 ebook switch" depends on OLPC || COMPILE_TEST depends on ACPI && INPUT ---help--- Support for the ebook switch on the OLPC XO-1.5 laptop. This switch is triggered as the screen is rotated and folded down to convert the device into ebook form. config XO1_RFKILL tristate "OLPC XO-1 software RF kill switch" depends on OLPC || COMPILE_TEST depends on RFKILL ---help--- Support for enabling/disabling the WLAN interface on the OLPC XO-1 laptop. config PCENGINES_APU2 tristate "PC Engines APUv2/3 front button and LEDs driver" depends on INPUT && INPUT_KEYBOARD && GPIOLIB depends on LEDS_CLASS select GPIO_AMD_FCH select KEYBOARD_GPIO_POLLED select LEDS_GPIO help This driver provides support for the front button and LEDs on PC Engines APUv2/APUv3 board. To compile this driver as a module, choose M here: the module will be called pcengines-apuv2. config SAMSUNG_LAPTOP tristate "Samsung Laptop driver" depends on RFKILL || RFKILL = n depends on ACPI_VIDEO || ACPI_VIDEO = n depends on BACKLIGHT_CLASS_DEVICE select LEDS_CLASS select NEW_LEDS ---help--- This module implements a driver for a wide range of different Samsung laptops. It offers control over the different function keys, wireless LED, LCD backlight level. It may also provide some sysfs files described in To compile this driver as a module, choose M here: the module will be called samsung-laptop. config SAMSUNG_Q10 tristate "Samsung Q10 Extras" depends on ACPI select BACKLIGHT_CLASS_DEVICE ---help--- This driver provides support for backlight control on Samsung Q10 and related laptops, including Dell Latitude X200. config ACPI_TOSHIBA tristate "Toshiba Laptop Extras" depends on ACPI depends on ACPI_WMI select LEDS_CLASS select NEW_LEDS depends on BACKLIGHT_CLASS_DEVICE depends on INPUT depends on SERIO_I8042 || SERIO_I8042 = n depends on ACPI_VIDEO || ACPI_VIDEO = n depends on RFKILL || RFKILL = n depends on IIO select INPUT_SPARSEKMAP ---help--- This driver adds support for access to certain system settings on "legacy free" Toshiba laptops. These laptops can be recognized by their lack of a BIOS setup menu and APM support. On these machines, all system configuration is handled through the ACPI. This driver is required for access to controls not covered by the general ACPI drivers, such as LCD brightness, video output, etc. This driver differs from the non-ACPI Toshiba laptop driver (located under "Processor type and features") in several aspects. Configuration is accessed by reading and writing text files in the /proc tree instead of by program interface to /dev. Furthermore, no power management functions are exposed, as those are handled by the general ACPI drivers. More information about this driver is available at . If you have a legacy free Toshiba laptop (such as the Libretto L1 series), say Y. config TOSHIBA_BT_RFKILL tristate "Toshiba Bluetooth RFKill switch support" depends on ACPI depends on RFKILL || RFKILL = n ---help--- This driver adds support for Bluetooth events for the RFKill switch on modern Toshiba laptops with full ACPI support and an RFKill switch. This driver handles RFKill events for the TOS6205 Bluetooth, and re-enables it when the switch is set back to the 'on' position. If you have a modern Toshiba laptop with a Bluetooth and an RFKill switch (such as the Portege R500), say Y. config TOSHIBA_HAPS tristate "Toshiba HDD Active Protection Sensor" depends on ACPI ---help--- This driver adds support for the built-in accelerometer found on recent Toshiba laptops equipped with HID TOS620A device. This driver receives ACPI notify events 0x80 when the sensor detects a sudden move or a harsh vibration, as well as an ACPI notify event 0x81 whenever the movement or vibration has been stabilized. Also provides sysfs entries to get/set the desired protection level and resetting the HDD protection interface. If you have a recent Toshiba laptop with a built-in accelerometer device, say Y. config TOSHIBA_WMI tristate "Toshiba WMI Hotkeys Driver (EXPERIMENTAL)" depends on ACPI_WMI depends on INPUT select INPUT_SPARSEKMAP ---help--- This driver adds hotkey monitoring support to some Toshiba models that manage the hotkeys via WMI events. WARNING: This driver is incomplete as it lacks a proper keymap and the *notify function only prints the ACPI event type value. Be warned that you will need to provide some information if you have a Toshiba model with WMI event hotkeys and want to help with the development of this driver. If you have a WMI-based hotkeys Toshiba laptop, say Y or M here. config ACPI_CMPC tristate "CMPC Laptop Extras" depends on ACPI && INPUT depends on RFKILL || RFKILL=n select BACKLIGHT_CLASS_DEVICE help Support for Intel Classmate PC ACPI devices, including some keys as input device, backlight device, tablet and accelerometer devices. config COMPAL_LAPTOP tristate "Compal (and others) Laptop Extras" depends on ACPI depends on BACKLIGHT_CLASS_DEVICE depends on ACPI_VIDEO || ACPI_VIDEO = n depends on RFKILL depends on HWMON depends on POWER_SUPPLY ---help--- This is a driver for laptops built by Compal, and some models by other brands (e.g. Dell, Toshiba). It adds support for rfkill, Bluetooth, WLAN, LCD brightness, hwmon and battery charging level control. config LG_LAPTOP tristate "LG Laptop Extras" depends on ACPI depends on ACPI_WMI depends on INPUT select INPUT_SPARSEKMAP select LEDS_CLASS help This driver adds support for hotkeys as well as control of keyboard backlight, battery maximum charge level and various other ACPI features. If you have an LG Gram laptop, say Y or M here. config PANASONIC_LAPTOP tristate "Panasonic Laptop Extras" depends on INPUT && ACPI depends on BACKLIGHT_CLASS_DEVICE select INPUT_SPARSEKMAP ---help--- This driver adds support for access to backlight control and hotkeys on Panasonic Let's Note laptops. If you have a Panasonic Let's note laptop (such as the R1(N variant), R2, R3, R5, T2, W2 and Y2 series), say Y. config SONY_LAPTOP tristate "Sony Laptop Extras" depends on ACPI depends on ACPI_VIDEO || ACPI_VIDEO = n depends on BACKLIGHT_CLASS_DEVICE depends on INPUT depends on RFKILL ---help--- This mini-driver drives the SNC and SPIC devices present in the ACPI BIOS of the Sony Vaio laptops. It gives access to some extra laptop functionalities like Bluetooth, screen brightness control, Fn keys and allows powering on/off some devices. Read for more information. config SONYPI_COMPAT bool "Sonypi compatibility" depends on SONY_LAPTOP ---help--- Build the sonypi driver compatibility code into the sony-laptop driver. config SYSTEM76_ACPI tristate "System76 ACPI Driver" depends on ACPI select NEW_LEDS select LEDS_CLASS select LEDS_TRIGGERS help This is a driver for System76 laptops running open firmware. It adds support for Fn-Fx key combinations, keyboard backlight, and airplane mode LEDs. If you have a System76 laptop running open firmware, say Y or M here. config TOPSTAR_LAPTOP tristate "Topstar Laptop Extras" depends on ACPI depends on INPUT select INPUT_SPARSEKMAP select LEDS_CLASS select NEW_LEDS ---help--- This driver adds support for hotkeys found on Topstar laptops. If you have a Topstar laptop, say Y or M here. config I2C_MULTI_INSTANTIATE tristate "I2C multi instantiate pseudo device driver" depends on I2C && ACPI help Some ACPI-based systems list multiple i2c-devices in a single ACPI firmware-node. This driver will instantiate separate i2c-clients for each device in the firmware-node. To compile this driver as a module, choose M here: the module will be called i2c-multi-instantiate. config MLX_PLATFORM tristate "Mellanox Technologies platform support" depends on I2C && REGMAP ---help--- This option enables system support for the Mellanox Technologies platform. The Mellanox systems provide data center networking solutions based on Virtual Protocol Interconnect (VPI) technology enable seamless connectivity to 56/100Gb/s InfiniBand or 10/40/56GbE connection. If you have a Mellanox system, say Y or M here. config TOUCHSCREEN_DMI bool "DMI based touchscreen configuration info" depends on ACPI && DMI && I2C=y && TOUCHSCREEN_SILEAD select EFI_EMBEDDED_FIRMWARE if EFI ---help--- Certain ACPI based tablets with e.g. Silead or Chipone touchscreens do not have enough data in ACPI tables for the touchscreen driver to handle the touchscreen properly, as OEMs expect the data to be baked into the tablet model specific version of the driver shipped with the the OS-image for the device. This option supplies the missing info. Enable this for x86 tablets with Silead or Chipone touchscreens. config INTEL_IMR bool "Intel Isolated Memory Region support" depends on X86_INTEL_QUARK && IOSF_MBI ---help--- This option provides a means to manipulate Isolated Memory Regions. IMRs are a set of registers that define read and write access masks to prohibit certain system agents from accessing memory with 1 KiB granularity. IMRs make it possible to control read/write access to an address by hardware agents inside the SoC. Read and write masks can be defined for: - eSRAM flush - Dirty CPU snoop (write only) - RMU access - PCI Virtual Channel 0/Virtual Channel 1 - SMM mode - Non SMM mode Quark contains a set of eight IMR registers and makes use of those registers during its bootup process. If you are running on a Galileo/Quark say Y here. config INTEL_IPS tristate "Intel Intelligent Power Sharing" depends on ACPI && PCI ---help--- Intel Calpella platforms support dynamic power sharing between the CPU and GPU, maximizing performance in a given TDP. This driver, along with the CPU frequency and i915 drivers, provides that functionality. If in doubt, say Y here; it will only load on supported platforms. config INTEL_RST tristate "Intel Rapid Start Technology Driver" depends on ACPI ---help--- This driver provides support for modifying parameters on systems equipped with Intel's Rapid Start Technology. When put in an ACPI sleep state, these devices will wake after either a configured timeout or when the system battery reaches a critical state, automatically copying memory contents to disk. On resume, the firmware will copy the memory contents back to RAM and resume the OS as usual. config INTEL_SMARTCONNECT tristate "Intel Smart Connect disabling driver" depends on ACPI ---help--- Intel Smart Connect is a technology intended to permit devices to update state by resuming for a short period of time at regular intervals. If a user enables this functionality under Windows and then reboots into Linux, the system may remain configured to resume on suspend. In the absence of any userspace to support it, the system will then remain awake until something triggers another suspend. This driver checks to determine whether the device has Intel Smart Connect enabled, and if so disables it. source "drivers/platform/x86/intel_speed_select_if/Kconfig" config INTEL_TURBO_MAX_3 bool "Intel Turbo Boost Max Technology 3.0 enumeration driver" depends on X86_64 && SCHED_MC_PRIO ---help--- This driver reads maximum performance ratio of each CPU and set up the scheduler priority metrics. In this way scheduler can prefer CPU with higher performance to schedule tasks. This driver is only required when the system is not using Hardware P-States (HWP). In HWP mode, priority can be read from ACPI tables. config INTEL_UNCORE_FREQ_CONTROL tristate "Intel Uncore frequency control driver" depends on X86_64 help This driver allows control of uncore frequency limits on supported server platforms. Uncore frequency controls RING/LLC (last-level cache) clocks. To compile this driver as a module, choose M here: the module will be called intel-uncore-frequency. config INTEL_BXTWC_PMIC_TMU tristate "Intel BXT Whiskey Cove TMU Driver" depends on REGMAP depends on MFD_INTEL_PMC_BXT depends on INTEL_SOC_PMIC_BXTWC ---help--- Select this driver to use Intel BXT Whiskey Cove PMIC TMU feature. This driver enables the alarm wakeup functionality in the TMU unit of Whiskey Cove PMIC. config INTEL_CHTDC_TI_PWRBTN tristate "Intel Cherry Trail Dollar Cove TI power button driver" depends on INTEL_SOC_PMIC_CHTDC_TI depends on INPUT ---help--- This option adds a power button driver driver for Dollar Cove TI PMIC on Intel Cherry Trail devices. To compile this driver as a module, choose M here: the module will be called intel_chtdc_ti_pwrbtn. config INTEL_MFLD_THERMAL tristate "Thermal driver for Intel Medfield platform" depends on MFD_INTEL_MSIC && THERMAL help Say Y here to enable thermal driver support for the Intel Medfield platform. config INTEL_MID_POWER_BUTTON tristate "power button driver for Intel MID platforms" depends on INTEL_SCU && INPUT help This driver handles the power button on the Intel MID platforms. If unsure, say N. config INTEL_MRFLD_PWRBTN tristate "Intel Merrifield Basin Cove power button driver" depends on INTEL_SOC_PMIC_MRFLD depends on INPUT ---help--- This option adds a power button driver for Basin Cove PMIC on Intel Merrifield devices. To compile this driver as a module, choose M here: the module will be called intel_mrfld_pwrbtn. config INTEL_PMC_CORE tristate "Intel PMC Core driver" depends on PCI ---help--- The Intel Platform Controller Hub for Intel Core SoCs provides access to Power Management Controller registers via a PCI interface. This driver can utilize debugging capabilities and supported features as exposed by the Power Management Controller. Supported features: - SLP_S0_RESIDENCY counter - PCH IP Power Gating status - LTR Ignore - MPHY/PLL gating status (Sunrisepoint PCH only) config INTEL_PUNIT_IPC tristate "Intel P-Unit IPC Driver" ---help--- This driver provides support for Intel P-Unit Mailbox IPC mechanism, which is used to bridge the communications between kernel and P-Unit. config INTEL_SCU_IPC bool config INTEL_SCU bool select INTEL_SCU_IPC config INTEL_SCU_PCI bool "Intel SCU PCI driver" depends on PCI select INTEL_SCU help This driver is used to bridge the communications between kernel and SCU on some embedded Intel x86 platforms. It also creates devices that are connected to the SoC through the SCU. Platforms supported: Medfield Clovertrail Merrifield Broxton Apollo Lake config INTEL_SCU_PLATFORM tristate "Intel SCU platform driver" depends on ACPI select INTEL_SCU help This driver is used to bridge the communications between kernel and SCU (sometimes called PMC as well). The driver currently supports Intel Elkhart Lake and compatible platforms. config INTEL_SCU_IPC_UTIL tristate "Intel SCU IPC utility driver" depends on INTEL_SCU ---help--- The IPC Util driver provides an interface with the SCU enabling low level access for debug work and updating the firmware. Say N unless you will be doing this on an Intel MID platform. config INTEL_TELEMETRY tristate "Intel SoC Telemetry Driver" depends on X86_64 depends on MFD_INTEL_PMC_BXT depends on INTEL_PUNIT_IPC ---help--- This driver provides interfaces to configure and use telemetry for INTEL SoC from APL onwards. It is also used to get various SoC events and parameters directly via debugfs files. Various tools may use this interface for SoC state monitoring. endif # X86_PLATFORM_DEVICES config PMC_ATOM def_bool y depends on PCI select COMMON_CLK