1# SPDX-License-Identifier: GPL-2.0-only 2# 3# X86 Platform Specific Drivers 4# 5 6menuconfig X86_PLATFORM_DEVICES 7 bool "X86 Platform Specific Device Drivers" 8 default y 9 depends on X86 10 help 11 Say Y here to get to see options for device drivers for various 12 x86 platforms, including vendor-specific laptop extension drivers. 13 This option alone does not add any kernel code. 14 15 If you say N, all options in this submenu will be skipped and disabled. 16 17if X86_PLATFORM_DEVICES 18 19config ACPI_WMI 20 tristate "WMI" 21 depends on ACPI 22 help 23 This driver adds support for the ACPI-WMI (Windows Management 24 Instrumentation) mapper device (PNP0C14) found on some systems. 25 26 ACPI-WMI is a proprietary extension to ACPI to expose parts of the 27 ACPI firmware to userspace - this is done through various vendor 28 defined methods and data blocks in a PNP0C14 device, which are then 29 made available for userspace to call. 30 31 The implementation of this in Linux currently only exposes this to 32 other kernel space drivers. 33 34 This driver is a required dependency to build the firmware specific 35 drivers needed on many machines, including Acer and HP laptops. 36 37 It is safe to enable this driver even if your DSDT doesn't define 38 any ACPI-WMI devices. 39 40config WMI_BMOF 41 tristate "WMI embedded Binary MOF driver" 42 depends on ACPI_WMI 43 default ACPI_WMI 44 help 45 Say Y here if you want to be able to read a firmware-embedded 46 WMI Binary MOF data. Using this requires userspace tools and may be 47 rather tedious. 48 49 To compile this driver as a module, choose M here: the module will 50 be called wmi-bmof. 51 52config HUAWEI_WMI 53 tristate "Huawei WMI laptop extras driver" 54 depends on ACPI_BATTERY 55 depends on ACPI_WMI 56 depends on INPUT 57 select INPUT_SPARSEKMAP 58 select LEDS_CLASS 59 select LEDS_TRIGGERS 60 select LEDS_TRIGGER_AUDIO 61 select NEW_LEDS 62 help 63 This driver provides support for Huawei WMI hotkeys, battery charge 64 control, fn-lock, mic-mute LED, and other extra features. 65 66 To compile this driver as a module, choose M here: the module 67 will be called huawei-wmi. 68 69config UV_SYSFS 70 tristate "Sysfs structure for UV systems" 71 depends on X86_UV 72 depends on SYSFS 73 help 74 This driver supports a sysfs tree describing information about 75 UV systems at /sys/firmware/sgi_uv/. 76 77 To compile this driver as a module, choose M here: the module will 78 be called uv_sysfs. 79 80config MXM_WMI 81 tristate "WMI support for MXM Laptop Graphics" 82 depends on ACPI_WMI 83 help 84 MXM is a standard for laptop graphics cards, the WMI interface 85 is required for switchable nvidia graphics machines 86 87config PEAQ_WMI 88 tristate "PEAQ 2-in-1 WMI hotkey driver" 89 depends on ACPI_WMI 90 depends on INPUT 91 help 92 Say Y here if you want to support WMI-based hotkeys on PEAQ 2-in-1s. 93 94config NVIDIA_WMI_EC_BACKLIGHT 95 tristate "EC Backlight Driver for Hybrid Graphics Notebook Systems" 96 depends on ACPI_WMI 97 depends on BACKLIGHT_CLASS_DEVICE 98 help 99 This driver provides a sysfs backlight interface for notebook systems 100 which are equipped with NVIDIA hybrid graphics and drive LCD backlight 101 levels through the Embedded Controller (EC). 102 103 Say Y or M here if you want to control the backlight on a notebook 104 system with an EC-driven backlight. 105 106 If you choose to compile this driver as a module the module will be 107 called nvidia-wmi-ec-backlight. 108 109config XIAOMI_WMI 110 tristate "Xiaomi WMI key driver" 111 depends on ACPI_WMI 112 depends on INPUT 113 help 114 Say Y here if you want to support WMI-based keys on Xiaomi notebooks. 115 116 To compile this driver as a module, choose M here: the module will 117 be called xiaomi-wmi. 118 119config GIGABYTE_WMI 120 tristate "Gigabyte WMI temperature driver" 121 depends on ACPI_WMI 122 depends on HWMON 123 help 124 Say Y here if you want to support WMI-based temperature reporting on 125 Gigabyte mainboards. 126 127 To compile this driver as a module, choose M here: the module will 128 be called gigabyte-wmi. 129 130config YOGABOOK_WMI 131 tristate "Lenovo Yoga Book tablet WMI key driver" 132 depends on ACPI_WMI 133 depends on INPUT 134 select LEDS_CLASS 135 select NEW_LEDS 136 help 137 Say Y here if you want to support the 'Pen' key and keyboard backlight 138 control on the Lenovo Yoga Book tablets. 139 140 To compile this driver as a module, choose M here: the module will 141 be called lenovo-yogabook-wmi. 142 143config ACERHDF 144 tristate "Acer Aspire One temperature and fan driver" 145 depends on ACPI && THERMAL 146 select THERMAL_GOV_BANG_BANG 147 help 148 This is a driver for Acer Aspire One netbooks. It allows to access 149 the temperature sensor and to control the fan. 150 151 After loading this driver the BIOS is still in control of the fan. 152 To let the kernel handle the fan, do: 153 echo -n enabled > /sys/class/thermal/thermal_zoneN/mode 154 where N=0,1,2... depending on the number of thermal nodes and the 155 detection order of your particular system. The "type" parameter 156 in the same node directory will tell you if it is "acerhdf". 157 158 For more information about this driver see 159 <https://piie.net/files/acerhdf_README.txt> 160 161 If you have an Acer Aspire One netbook, say Y or M 162 here. 163 164config ACER_WIRELESS 165 tristate "Acer Wireless Radio Control Driver" 166 depends on ACPI 167 depends on INPUT 168 help 169 The Acer Wireless Radio Control handles the airplane mode hotkey 170 present on new Acer laptops. 171 172 Say Y or M here if you have an Acer notebook with an airplane mode 173 hotkey. 174 175 If you choose to compile this driver as a module the module will be 176 called acer-wireless. 177 178config ACER_WMI 179 tristate "Acer WMI Laptop Extras" 180 depends on ACPI 181 select LEDS_CLASS 182 select NEW_LEDS 183 depends on BACKLIGHT_CLASS_DEVICE 184 depends on SERIO_I8042 185 depends on INPUT 186 depends on RFKILL || RFKILL = n 187 depends on ACPI_WMI 188 select INPUT_SPARSEKMAP 189 # Acer WMI depends on ACPI_VIDEO when ACPI is enabled 190 select ACPI_VIDEO if ACPI 191 help 192 This is a driver for newer Acer (and Wistron) laptops. It adds 193 wireless radio and bluetooth control, and on some laptops, 194 exposes the mail LED and LCD backlight. 195 196 If you have an ACPI-WMI compatible Acer/ Wistron laptop, say Y or M 197 here. 198 199config AMD_PMC 200 tristate "AMD SoC PMC driver" 201 depends on ACPI && PCI && RTC_CLASS 202 help 203 The driver provides support for AMD Power Management Controller 204 primarily responsible for S2Idle transactions that are driven from 205 a platform firmware running on SMU. This driver also provides a debug 206 mechanism to investigate the S2Idle transactions and failures. 207 208 Say Y or M here if you have a notebook powered by AMD RYZEN CPU/APU. 209 210 If you choose to compile this driver as a module the module will be 211 called amd-pmc. 212 213config ADV_SWBUTTON 214 tristate "Advantech ACPI Software Button Driver" 215 depends on ACPI && INPUT 216 help 217 Say Y here to enable support for Advantech software defined 218 button feature. More information can be found at 219 <http://www.advantech.com.tw/products/> 220 221 To compile this driver as a module, choose M here. The module will 222 be called adv_swbutton. 223 224config APPLE_GMUX 225 tristate "Apple Gmux Driver" 226 depends on ACPI && PCI 227 depends on PNP 228 depends on BACKLIGHT_CLASS_DEVICE 229 depends on BACKLIGHT_APPLE=n || BACKLIGHT_APPLE 230 depends on ACPI_VIDEO=n || ACPI_VIDEO 231 help 232 This driver provides support for the gmux device found on many 233 Apple laptops, which controls the display mux for the hybrid 234 graphics as well as the backlight. Currently only backlight 235 control is supported by the driver. 236 237config ASUS_LAPTOP 238 tristate "Asus Laptop Extras" 239 depends on ACPI 240 select LEDS_CLASS 241 select NEW_LEDS 242 depends on BACKLIGHT_CLASS_DEVICE 243 depends on INPUT 244 depends on RFKILL || RFKILL = n 245 depends on ACPI_VIDEO || ACPI_VIDEO = n 246 select INPUT_SPARSEKMAP 247 help 248 This is a driver for Asus laptops, Lenovo SL and the Pegatron 249 Lucid tablet. It may also support some MEDION, JVC or VICTOR 250 laptops. It makes all the extra buttons generate standard 251 ACPI events and input events, and on the Lucid the built-in 252 accelerometer appears as an input device. It also adds 253 support for video output switching, LCD backlight control, 254 Bluetooth and Wlan control, and most importantly, allows you 255 to blink those fancy LEDs. 256 257 For more information see <http://acpi4asus.sf.net>. 258 259 If you have an ACPI-compatible ASUS laptop, say Y or M here. 260 261config ASUS_WIRELESS 262 tristate "Asus Wireless Radio Control Driver" 263 depends on ACPI 264 depends on INPUT 265 select NEW_LEDS 266 select LEDS_CLASS 267 help 268 The Asus Wireless Radio Control handles the airplane mode hotkey 269 present on some Asus laptops. 270 271 Say Y or M here if you have an ASUS notebook with an airplane mode 272 hotkey. 273 274 If you choose to compile this driver as a module the module will be 275 called asus-wireless. 276 277config ASUS_WMI 278 tristate "ASUS WMI Driver" 279 depends on ACPI_WMI 280 depends on ACPI_BATTERY 281 depends on INPUT 282 depends on HWMON 283 depends on BACKLIGHT_CLASS_DEVICE 284 depends on RFKILL || RFKILL = n 285 depends on HOTPLUG_PCI 286 depends on ACPI_VIDEO || ACPI_VIDEO = n 287 select INPUT_SPARSEKMAP 288 select LEDS_CLASS 289 select NEW_LEDS 290 select ACPI_PLATFORM_PROFILE 291 help 292 Say Y here if you have a WMI aware Asus laptop (like Eee PCs or new 293 Asus Notebooks). 294 295 To compile this driver as a module, choose M here: the module will 296 be called asus-wmi. 297 298config ASUS_NB_WMI 299 tristate "Asus Notebook WMI Driver" 300 depends on ASUS_WMI 301 depends on SERIO_I8042 || SERIO_I8042 = n 302 help 303 This is a driver for newer Asus notebooks. It adds extra features 304 like wireless radio and bluetooth control, leds, hotkeys, backlight... 305 306 For more information, see 307 <file:Documentation/ABI/testing/sysfs-platform-asus-wmi> 308 309 If you have an ACPI-WMI compatible Asus Notebook, say Y or M 310 here. 311 312config ASUS_TF103C_DOCK 313 tristate "Asus TF103C 2-in-1 keyboard dock" 314 depends on ACPI 315 depends on I2C 316 depends on INPUT 317 depends on HID 318 depends on GPIOLIB 319 help 320 This is a driver for the keyboard, touchpad and USB port of the 321 keyboard dock for the Asus TF103C 2-in-1 tablet. 322 323 This keyboard dock has its own I2C attached embedded controller 324 and the keyboard and touchpad are also connected over I2C, 325 instead of using the usual USB connection. This means that the 326 keyboard dock requires this special driver to function. 327 328 If you have an Asus TF103C tablet say Y or M here, for a generic x86 329 distro config say M here. 330 331config MERAKI_MX100 332 tristate "Cisco Meraki MX100 Platform Driver" 333 depends on GPIOLIB 334 depends on GPIO_ICH 335 depends on LEDS_CLASS 336 select LEDS_GPIO 337 help 338 This driver provides support for the front button and LEDs on 339 the Cisco Meraki MX100 (Tinkerbell) 1U appliance. 340 341 To compile this driver as a module, choose M here: the module 342 will be called meraki-mx100. 343 344config EEEPC_LAPTOP 345 tristate "Eee PC Hotkey Driver" 346 depends on ACPI 347 depends on INPUT 348 depends on RFKILL || RFKILL = n 349 depends on ACPI_VIDEO || ACPI_VIDEO = n 350 depends on HOTPLUG_PCI 351 depends on BACKLIGHT_CLASS_DEVICE 352 select HWMON 353 select LEDS_CLASS 354 select NEW_LEDS 355 select INPUT_SPARSEKMAP 356 help 357 This driver supports the Fn-Fx keys on Eee PC laptops. 358 359 It also gives access to some extra laptop functionalities like 360 Bluetooth, backlight and allows powering on/off some other 361 devices. 362 363 If you have an Eee PC laptop, say Y or M here. If this driver 364 doesn't work on your Eee PC, try eeepc-wmi instead. 365 366config EEEPC_WMI 367 tristate "Eee PC WMI Driver" 368 depends on ASUS_WMI 369 help 370 This is a driver for newer Eee PC laptops. It adds extra features 371 like wireless radio and bluetooth control, leds, hotkeys, backlight... 372 373 For more information, see 374 <file:Documentation/ABI/testing/sysfs-platform-asus-wmi> 375 376 If you have an ACPI-WMI compatible Eee PC laptop (>= 1000), say Y or M 377 here. 378 379source "drivers/platform/x86/dell/Kconfig" 380 381config AMILO_RFKILL 382 tristate "Fujitsu-Siemens Amilo rfkill support" 383 depends on RFKILL 384 depends on SERIO_I8042 385 help 386 This is a driver for enabling wifi on some Fujitsu-Siemens Amilo 387 laptops. 388 389config FUJITSU_LAPTOP 390 tristate "Fujitsu Laptop Extras" 391 depends on ACPI 392 depends on INPUT 393 depends on BACKLIGHT_CLASS_DEVICE 394 depends on ACPI_VIDEO || ACPI_VIDEO = n 395 select INPUT_SPARSEKMAP 396 select NEW_LEDS 397 select LEDS_CLASS 398 help 399 This is a driver for laptops built by Fujitsu: 400 401 * P2xxx/P5xxx/S6xxx/S7xxx series Lifebooks 402 * Possibly other Fujitsu laptop models 403 * Tested with S6410 and S7020 404 405 It adds support for LCD brightness control and some hotkeys. 406 407 If you have a Fujitsu laptop, say Y or M here. 408 409config FUJITSU_TABLET 410 tristate "Fujitsu Tablet Extras" 411 depends on ACPI 412 depends on INPUT 413 help 414 This is a driver for tablets built by Fujitsu: 415 416 * Lifebook P1510/P1610/P1620/Txxxx 417 * Stylistic ST5xxx 418 * Possibly other Fujitsu tablet models 419 420 It adds support for the panel buttons, docking station detection, 421 tablet/notebook mode detection for convertible and 422 orientation detection for docked slates. 423 424 If you have a Fujitsu convertible or slate, say Y or M here. 425 426config GPD_POCKET_FAN 427 tristate "GPD Pocket Fan Controller support" 428 depends on ACPI 429 depends on THERMAL 430 help 431 Driver for the GPD Pocket vendor specific FAN02501 ACPI device 432 which controls the fan speed on the GPD Pocket. 433 434 Without this driver the fan on the Pocket will stay off independent 435 of the CPU temperature. Say Y or M if the kernel may be used on a 436 GPD pocket. 437 438config HP_ACCEL 439 tristate "HP laptop accelerometer" 440 depends on INPUT && ACPI 441 depends on SERIO_I8042 442 select SENSORS_LIS3LV02D 443 select NEW_LEDS 444 select LEDS_CLASS 445 help 446 This driver provides support for the "Mobile Data Protection System 3D" 447 or "3D DriveGuard" feature of HP laptops. On such systems the driver 448 should load automatically (via ACPI alias). 449 450 Support for a led indicating disk protection will be provided as 451 hp::hddprotect. For more information on the feature, refer to 452 Documentation/misc-devices/lis3lv02d.rst. 453 454 To compile this driver as a module, choose M here: the module will 455 be called hp_accel. 456 457config WIRELESS_HOTKEY 458 tristate "Wireless hotkey button" 459 depends on ACPI 460 depends on INPUT 461 help 462 This driver provides supports for the wireless buttons found on some AMD, 463 HP, & Xioami laptops. 464 On such systems the driver should load automatically (via ACPI alias). 465 466 To compile this driver as a module, choose M here: the module will 467 be called wireless-hotkey. 468 469config HP_WMI 470 tristate "HP WMI extras" 471 depends on ACPI_WMI 472 depends on INPUT 473 depends on RFKILL || RFKILL = n 474 select INPUT_SPARSEKMAP 475 select ACPI_PLATFORM_PROFILE 476 select HWMON 477 help 478 Say Y here if you want to support WMI-based hotkeys on HP laptops and 479 to read data from WMI such as docking or ambient light sensor state. 480 481 To compile this driver as a module, choose M here: the module will 482 be called hp-wmi. 483 484config TC1100_WMI 485 tristate "HP Compaq TC1100 Tablet WMI Extras" 486 depends on !X86_64 487 depends on ACPI 488 depends on ACPI_WMI 489 help 490 This is a driver for the WMI extensions (wireless and bluetooth power 491 control) of the HP Compaq TC1100 tablet. 492 493config IBM_RTL 494 tristate "Device driver to enable PRTL support" 495 depends on PCI 496 help 497 Enable support for IBM Premium Real Time Mode (PRTM). 498 This module will allow you the enter and exit PRTM in the BIOS via 499 sysfs on platforms that support this feature. System in PRTM will 500 not receive CPU-generated SMIs for recoverable errors. Use of this 501 feature without proper support may void your hardware warranty. 502 503 If the proper BIOS support is found the driver will load and create 504 /sys/devices/system/ibm_rtl/. The "state" variable will indicate 505 whether or not the BIOS is in PRTM. 506 state = 0 (BIOS SMIs on) 507 state = 1 (BIOS SMIs off) 508 509config IDEAPAD_LAPTOP 510 tristate "Lenovo IdeaPad Laptop Extras" 511 depends on ACPI 512 depends on RFKILL && INPUT 513 depends on SERIO_I8042 514 depends on BACKLIGHT_CLASS_DEVICE 515 depends on ACPI_VIDEO || ACPI_VIDEO = n 516 depends on ACPI_WMI || ACPI_WMI = n 517 select ACPI_PLATFORM_PROFILE 518 select INPUT_SPARSEKMAP 519 select NEW_LEDS 520 select LEDS_CLASS 521 help 522 This is a driver for Lenovo IdeaPad netbooks contains drivers for 523 rfkill switch, hotkey, fan control and backlight control. 524 525config SENSORS_HDAPS 526 tristate "Thinkpad Hard Drive Active Protection System (hdaps)" 527 depends on INPUT 528 help 529 This driver provides support for the IBM Hard Drive Active Protection 530 System (hdaps), which provides an accelerometer and other misc. data. 531 ThinkPads starting with the R50, T41, and X40 are supported. The 532 accelerometer data is readable via sysfs. 533 534 This driver also provides an absolute input class device, allowing 535 the laptop to act as a pinball machine-esque joystick. 536 537 If your ThinkPad is not recognized by the driver, please update to latest 538 BIOS. This is especially the case for some R52 ThinkPads. 539 540 Say Y here if you have an applicable laptop and want to experience 541 the awesome power of hdaps. 542 543config THINKPAD_ACPI 544 tristate "ThinkPad ACPI Laptop Extras" 545 depends on ACPI 546 depends on ACPI_BATTERY 547 depends on INPUT 548 depends on RFKILL || RFKILL = n 549 depends on ACPI_VIDEO || ACPI_VIDEO = n 550 depends on BACKLIGHT_CLASS_DEVICE 551 depends on I2C 552 depends on DRM 553 select ACPI_PLATFORM_PROFILE 554 select DRM_PRIVACY_SCREEN 555 select HWMON 556 select NVRAM 557 select NEW_LEDS 558 select LEDS_CLASS 559 select LEDS_TRIGGERS 560 select LEDS_TRIGGER_AUDIO 561 help 562 This is a driver for the IBM and Lenovo ThinkPad laptops. It adds 563 support for Fn-Fx key combinations, Bluetooth control, video 564 output switching, ThinkLight control, UltraBay eject and more. 565 For more information about this driver see 566 <file:Documentation/admin-guide/laptops/thinkpad-acpi.rst> and 567 <http://ibm-acpi.sf.net/> . 568 569 This driver was formerly known as ibm-acpi. 570 571 Extra functionality will be available if the rfkill (CONFIG_RFKILL) 572 and/or ALSA (CONFIG_SND) subsystems are available in the kernel. 573 Note that if you want ThinkPad-ACPI to be built-in instead of 574 modular, ALSA and rfkill will also have to be built-in. 575 576 If you have an IBM or Lenovo ThinkPad laptop, say Y or M here. 577 578config THINKPAD_ACPI_ALSA_SUPPORT 579 bool "Console audio control ALSA interface" 580 depends on THINKPAD_ACPI 581 depends on SND 582 depends on SND = y || THINKPAD_ACPI = SND 583 default y 584 help 585 Enables monitoring of the built-in console audio output control 586 (headphone and speakers), which is operated by the mute and (in 587 some ThinkPad models) volume hotkeys. 588 589 If this option is enabled, ThinkPad-ACPI will export an ALSA card 590 with a single read-only mixer control, which should be used for 591 on-screen-display feedback purposes by the Desktop Environment. 592 593 Optionally, the driver will also allow software control (the 594 ALSA mixer will be made read-write). Please refer to the driver 595 documentation for details. 596 597 All IBM models have both volume and mute control. Newer Lenovo 598 models only have mute control (the volume hotkeys are just normal 599 keys and volume control is done through the main HDA mixer). 600 601config THINKPAD_ACPI_DEBUGFACILITIES 602 bool "Maintainer debug facilities" 603 depends on THINKPAD_ACPI 604 help 605 Enables extra stuff in the thinkpad-acpi which is completely useless 606 for normal use. Read the driver source to find out what it does. 607 608 Say N here, unless you were told by a kernel maintainer to do 609 otherwise. 610 611config THINKPAD_ACPI_DEBUG 612 bool "Verbose debug mode" 613 depends on THINKPAD_ACPI 614 help 615 Enables extra debugging information, at the expense of a slightly 616 increase in driver size. 617 618 If you are not sure, say N here. 619 620config THINKPAD_ACPI_UNSAFE_LEDS 621 bool "Allow control of important LEDs (unsafe)" 622 depends on THINKPAD_ACPI 623 help 624 Overriding LED state on ThinkPads can mask important 625 firmware alerts (like critical battery condition), or misled 626 the user into damaging the hardware (undocking or ejecting 627 the bay while buses are still active), etc. 628 629 LED control on the ThinkPad is write-only (with very few 630 exceptions on very ancient models), which makes it 631 impossible to know beforehand if important information will 632 be lost when one changes LED state. 633 634 Users that know what they are doing can enable this option 635 and the driver will allow control of every LED, including 636 the ones on the dock stations. 637 638 Never enable this option on a distribution kernel. 639 640 Say N here, unless you are building a kernel for your own 641 use, and need to control the important firmware LEDs. 642 643config THINKPAD_ACPI_VIDEO 644 bool "Video output control support" 645 depends on THINKPAD_ACPI 646 default y 647 help 648 Allows the thinkpad_acpi driver to provide an interface to control 649 the various video output ports. 650 651 This feature often won't work well, depending on ThinkPad model, 652 display state, video output devices in use, whether there is a X 653 server running, phase of the moon, and the current mood of 654 Schroedinger's cat. If you can use X.org's RandR to control 655 your ThinkPad's video output ports instead of this feature, 656 don't think twice: do it and say N here to save memory and avoid 657 bad interactions with X.org. 658 659 NOTE: access to this feature is limited to processes with the 660 CAP_SYS_ADMIN capability, to avoid local DoS issues in platforms 661 where it interacts badly with X.org. 662 663 If you are not sure, say Y here but do try to check if you could 664 be using X.org RandR instead. 665 666config THINKPAD_ACPI_HOTKEY_POLL 667 bool "Support NVRAM polling for hot keys" 668 depends on THINKPAD_ACPI 669 default y 670 help 671 Some thinkpad models benefit from NVRAM polling to detect a few of 672 the hot key press events. If you know your ThinkPad model does not 673 need to do NVRAM polling to support any of the hot keys you use, 674 unselecting this option will save about 1kB of memory. 675 676 ThinkPads T40 and newer, R52 and newer, and X31 and newer are 677 unlikely to need NVRAM polling in their latest BIOS versions. 678 679 NVRAM polling can detect at most the following keys: ThinkPad/Access 680 IBM, Zoom, Switch Display (fn+F7), ThinkLight, Volume up/down/mute, 681 Brightness up/down, Display Expand (fn+F8), Hibernate (fn+F12). 682 683 If you are not sure, say Y here. The driver enables polling only if 684 it is strictly necessary to do so. 685 686config THINKPAD_LMI 687 tristate "Lenovo WMI-based systems management driver" 688 depends on ACPI_WMI 689 select FW_ATTR_CLASS 690 help 691 This driver allows changing BIOS settings on Lenovo machines whose 692 BIOS support the WMI interface. 693 694 To compile this driver as a module, choose M here: the module will 695 be called think-lmi. 696 697source "drivers/platform/x86/intel/Kconfig" 698 699config MSI_LAPTOP 700 tristate "MSI Laptop Extras" 701 depends on ACPI 702 depends on BACKLIGHT_CLASS_DEVICE 703 depends on ACPI_VIDEO || ACPI_VIDEO = n 704 depends on RFKILL 705 depends on INPUT && SERIO_I8042 706 select INPUT_SPARSEKMAP 707 help 708 This is a driver for laptops built by MSI (MICRO-STAR 709 INTERNATIONAL): 710 711 MSI MegaBook S270 (MS-1013) 712 Cytron/TCM/Medion/Tchibo MD96100/SAM2000 713 714 It adds support for Bluetooth, WLAN and LCD brightness control. 715 716 More information about this driver is available at 717 <http://0pointer.de/lennart/tchibo.html>. 718 719 If you have an MSI S270 laptop, say Y or M here. 720 721config MSI_WMI 722 tristate "MSI WMI extras" 723 depends on ACPI_WMI 724 depends on INPUT 725 depends on BACKLIGHT_CLASS_DEVICE 726 depends on ACPI_VIDEO || ACPI_VIDEO = n 727 select INPUT_SPARSEKMAP 728 help 729 Say Y here if you want to support WMI-based hotkeys on MSI laptops. 730 731 To compile this driver as a module, choose M here: the module will 732 be called msi-wmi. 733 734config XO15_EBOOK 735 tristate "OLPC XO-1.5 ebook switch" 736 depends on OLPC || COMPILE_TEST 737 depends on ACPI && INPUT 738 help 739 Support for the ebook switch on the OLPC XO-1.5 laptop. 740 741 This switch is triggered as the screen is rotated and folded down to 742 convert the device into ebook form. 743 744config XO1_RFKILL 745 tristate "OLPC XO-1 software RF kill switch" 746 depends on OLPC || COMPILE_TEST 747 depends on RFKILL 748 help 749 Support for enabling/disabling the WLAN interface on the OLPC XO-1 750 laptop. 751 752config PCENGINES_APU2 753 tristate "PC Engines APUv2/3 front button and LEDs driver" 754 depends on INPUT && INPUT_KEYBOARD && GPIOLIB 755 depends on LEDS_CLASS 756 select GPIO_AMD_FCH 757 select KEYBOARD_GPIO_POLLED 758 select LEDS_GPIO 759 help 760 This driver provides support for the front button and LEDs on 761 PC Engines APUv2/APUv3 board. 762 763 To compile this driver as a module, choose M here: the module 764 will be called pcengines-apuv2. 765 766config BARCO_P50_GPIO 767 tristate "Barco P50 GPIO driver for identify LED/button" 768 depends on GPIOLIB 769 help 770 This driver provides access to the GPIOs for the identify button 771 and led present on Barco P50 board. 772 773 To compile this driver as a module, choose M here: the module 774 will be called barco-p50-gpio. 775 776config SAMSUNG_LAPTOP 777 tristate "Samsung Laptop driver" 778 depends on RFKILL || RFKILL = n 779 depends on ACPI_VIDEO || ACPI_VIDEO = n 780 depends on BACKLIGHT_CLASS_DEVICE 781 select LEDS_CLASS 782 select NEW_LEDS 783 help 784 This module implements a driver for a wide range of different 785 Samsung laptops. It offers control over the different 786 function keys, wireless LED, LCD backlight level. 787 788 It may also provide some sysfs files described in 789 <file:Documentation/ABI/testing/sysfs-driver-samsung-laptop> 790 791 To compile this driver as a module, choose M here: the module 792 will be called samsung-laptop. 793 794config SAMSUNG_Q10 795 tristate "Samsung Q10 Extras" 796 depends on ACPI 797 select BACKLIGHT_CLASS_DEVICE 798 help 799 This driver provides support for backlight control on Samsung Q10 800 and related laptops, including Dell Latitude X200. 801 802config ACPI_TOSHIBA 803 tristate "Toshiba Laptop Extras" 804 depends on ACPI 805 depends on ACPI_WMI 806 select LEDS_CLASS 807 select NEW_LEDS 808 depends on BACKLIGHT_CLASS_DEVICE 809 depends on INPUT 810 depends on SERIO_I8042 || SERIO_I8042 = n 811 depends on ACPI_VIDEO || ACPI_VIDEO = n 812 depends on RFKILL || RFKILL = n 813 depends on IIO 814 select INPUT_SPARSEKMAP 815 help 816 This driver adds support for access to certain system settings 817 on "legacy free" Toshiba laptops. These laptops can be recognized by 818 their lack of a BIOS setup menu and APM support. 819 820 On these machines, all system configuration is handled through the 821 ACPI. This driver is required for access to controls not covered 822 by the general ACPI drivers, such as LCD brightness, video output, 823 etc. 824 825 This driver differs from the non-ACPI Toshiba laptop driver (located 826 under "Processor type and features") in several aspects. 827 Configuration is accessed by reading and writing text files in the 828 /proc tree instead of by program interface to /dev. Furthermore, no 829 power management functions are exposed, as those are handled by the 830 general ACPI drivers. 831 832 More information about this driver is available at 833 <http://memebeam.org/toys/ToshibaAcpiDriver>. 834 835 If you have a legacy free Toshiba laptop (such as the Libretto L1 836 series), say Y. 837 838config TOSHIBA_BT_RFKILL 839 tristate "Toshiba Bluetooth RFKill switch support" 840 depends on ACPI 841 depends on RFKILL || RFKILL = n 842 help 843 This driver adds support for Bluetooth events for the RFKill 844 switch on modern Toshiba laptops with full ACPI support and 845 an RFKill switch. 846 847 This driver handles RFKill events for the TOS6205 Bluetooth, 848 and re-enables it when the switch is set back to the 'on' 849 position. 850 851 If you have a modern Toshiba laptop with a Bluetooth and an 852 RFKill switch (such as the Portege R500), say Y. 853 854config TOSHIBA_HAPS 855 tristate "Toshiba HDD Active Protection Sensor" 856 depends on ACPI 857 help 858 This driver adds support for the built-in accelerometer 859 found on recent Toshiba laptops equipped with HID TOS620A 860 device. 861 862 This driver receives ACPI notify events 0x80 when the sensor 863 detects a sudden move or a harsh vibration, as well as an 864 ACPI notify event 0x81 whenever the movement or vibration has 865 been stabilized. 866 867 Also provides sysfs entries to get/set the desired protection 868 level and resetting the HDD protection interface. 869 870 If you have a recent Toshiba laptop with a built-in accelerometer 871 device, say Y. 872 873config TOSHIBA_WMI 874 tristate "Toshiba WMI Hotkeys Driver (EXPERIMENTAL)" 875 depends on ACPI_WMI 876 depends on INPUT 877 select INPUT_SPARSEKMAP 878 help 879 This driver adds hotkey monitoring support to some Toshiba models 880 that manage the hotkeys via WMI events. 881 882 WARNING: This driver is incomplete as it lacks a proper keymap and the 883 *notify function only prints the ACPI event type value. Be warned that 884 you will need to provide some information if you have a Toshiba model 885 with WMI event hotkeys and want to help with the development of this 886 driver. 887 888 If you have a WMI-based hotkeys Toshiba laptop, say Y or M here. 889 890config ACPI_CMPC 891 tristate "CMPC Laptop Extras" 892 depends on ACPI && INPUT 893 depends on RFKILL || RFKILL=n 894 select BACKLIGHT_CLASS_DEVICE 895 help 896 Support for Intel Classmate PC ACPI devices, including some 897 keys as input device, backlight device, tablet and accelerometer 898 devices. 899 900config COMPAL_LAPTOP 901 tristate "Compal (and others) Laptop Extras" 902 depends on ACPI 903 depends on BACKLIGHT_CLASS_DEVICE 904 depends on ACPI_VIDEO || ACPI_VIDEO = n 905 depends on RFKILL 906 depends on HWMON 907 depends on POWER_SUPPLY 908 help 909 This is a driver for laptops built by Compal, and some models by 910 other brands (e.g. Dell, Toshiba). 911 912 It adds support for rfkill, Bluetooth, WLAN, LCD brightness, hwmon 913 and battery charging level control. 914 915config LG_LAPTOP 916 tristate "LG Laptop Extras" 917 depends on ACPI 918 depends on ACPI_WMI 919 depends on INPUT 920 select INPUT_SPARSEKMAP 921 select NEW_LEDS 922 select LEDS_CLASS 923 help 924 This driver adds support for hotkeys as well as control of keyboard 925 backlight, battery maximum charge level and various other ACPI 926 features. 927 928 If you have an LG Gram laptop, say Y or M here. 929 930config PANASONIC_LAPTOP 931 tristate "Panasonic Laptop Extras" 932 depends on INPUT && ACPI 933 depends on BACKLIGHT_CLASS_DEVICE 934 select INPUT_SPARSEKMAP 935 help 936 This driver adds support for access to backlight control and hotkeys 937 on Panasonic Let's Note laptops. 938 939 If you have a Panasonic Let's note laptop (such as the R1(N variant), 940 R2, R3, R5, T2, W2 and Y2 series), say Y. 941 942config SONY_LAPTOP 943 tristate "Sony Laptop Extras" 944 depends on ACPI 945 depends on ACPI_VIDEO || ACPI_VIDEO = n 946 depends on BACKLIGHT_CLASS_DEVICE 947 depends on INPUT 948 depends on RFKILL 949 help 950 This mini-driver drives the SNC and SPIC devices present in the ACPI 951 BIOS of the Sony Vaio laptops. 952 953 It gives access to some extra laptop functionalities like Bluetooth, 954 screen brightness control, Fn keys and allows powering on/off some 955 devices. 956 957 Read <file:Documentation/admin-guide/laptops/sony-laptop.rst> for more information. 958 959config SONYPI_COMPAT 960 bool "Sonypi compatibility" 961 depends on SONY_LAPTOP 962 help 963 Build the sonypi driver compatibility code into the sony-laptop driver. 964 965config SYSTEM76_ACPI 966 tristate "System76 ACPI Driver" 967 depends on ACPI 968 depends on ACPI_BATTERY 969 depends on HWMON 970 depends on INPUT 971 select NEW_LEDS 972 select LEDS_CLASS 973 select LEDS_TRIGGERS 974 help 975 This is a driver for System76 laptops running open firmware. It adds 976 support for Fn-Fx key combinations, keyboard backlight, and airplane mode 977 LEDs. 978 979 If you have a System76 laptop running open firmware, say Y or M here. 980 981config TOPSTAR_LAPTOP 982 tristate "Topstar Laptop Extras" 983 depends on ACPI 984 depends on INPUT 985 select INPUT_SPARSEKMAP 986 select LEDS_CLASS 987 select NEW_LEDS 988 help 989 This driver adds support for hotkeys found on Topstar laptops. 990 991 If you have a Topstar laptop, say Y or M here. 992 993config I2C_MULTI_INSTANTIATE 994 tristate "I2C multi instantiate pseudo device driver" 995 depends on I2C && ACPI 996 help 997 Some ACPI-based systems list multiple i2c-devices in a single ACPI 998 firmware-node. This driver will instantiate separate i2c-clients 999 for each device in the firmware-node. 1000 1001 To compile this driver as a module, choose M here: the module 1002 will be called i2c-multi-instantiate. 1003 1004config MLX_PLATFORM 1005 tristate "Mellanox Technologies platform support" 1006 depends on I2C && REGMAP 1007 help 1008 This option enables system support for the Mellanox Technologies 1009 platform. The Mellanox systems provide data center networking 1010 solutions based on Virtual Protocol Interconnect (VPI) technology 1011 enable seamless connectivity to 56/100Gb/s InfiniBand or 10/40/56GbE 1012 connection. 1013 1014 If you have a Mellanox system, say Y or M here. 1015 1016config TOUCHSCREEN_DMI 1017 bool "DMI based touchscreen configuration info" 1018 depends on ACPI && DMI && I2C=y && TOUCHSCREEN_SILEAD 1019 select EFI_EMBEDDED_FIRMWARE if EFI 1020 help 1021 Certain ACPI based tablets with e.g. Silead or Chipone touchscreens 1022 do not have enough data in ACPI tables for the touchscreen driver to 1023 handle the touchscreen properly, as OEMs expect the data to be baked 1024 into the tablet model specific version of the driver shipped with the 1025 the OS-image for the device. This option supplies the missing info. 1026 Enable this for x86 tablets with Silead or Chipone touchscreens. 1027 1028config X86_ANDROID_TABLETS 1029 tristate "X86 Android tablet support" 1030 depends on I2C && SERIAL_DEV_BUS && ACPI && GPIOLIB 1031 help 1032 X86 tablets which ship with Android as (part of) the factory image 1033 typically have various problems with their DSDTs. The factory kernels 1034 shipped on these devices typically have device addresses and GPIOs 1035 hardcoded in the kernel, rather than specified in their DSDT. 1036 1037 With the DSDT containing a random collection of devices which may or 1038 may not actually be present. This driver contains various fixes for 1039 such tablets, including instantiating kernel devices for devices which 1040 are missing from the DSDT. 1041 1042 If you have a x86 Android tablet say Y or M here, for a generic x86 1043 distro config say M here. 1044 1045config FW_ATTR_CLASS 1046 tristate 1047 1048config INTEL_IMR 1049 bool "Intel Isolated Memory Region support" 1050 depends on X86_INTEL_QUARK && IOSF_MBI 1051 help 1052 This option provides a means to manipulate Isolated Memory Regions. 1053 IMRs are a set of registers that define read and write access masks 1054 to prohibit certain system agents from accessing memory with 1 KiB 1055 granularity. 1056 1057 IMRs make it possible to control read/write access to an address 1058 by hardware agents inside the SoC. Read and write masks can be 1059 defined for: 1060 - eSRAM flush 1061 - Dirty CPU snoop (write only) 1062 - RMU access 1063 - PCI Virtual Channel 0/Virtual Channel 1 1064 - SMM mode 1065 - Non SMM mode 1066 1067 Quark contains a set of eight IMR registers and makes use of those 1068 registers during its bootup process. 1069 1070 If you are running on a Galileo/Quark say Y here. 1071 1072config INTEL_IPS 1073 tristate "Intel Intelligent Power Sharing" 1074 depends on ACPI && PCI 1075 help 1076 Intel Calpella platforms support dynamic power sharing between the 1077 CPU and GPU, maximizing performance in a given TDP. This driver, 1078 along with the CPU frequency and i915 drivers, provides that 1079 functionality. If in doubt, say Y here; it will only load on 1080 supported platforms. 1081 1082config INTEL_SCU_IPC 1083 bool 1084 1085config INTEL_SCU 1086 bool 1087 select INTEL_SCU_IPC 1088 1089config INTEL_SCU_PCI 1090 bool "Intel SCU PCI driver" 1091 depends on PCI 1092 select INTEL_SCU 1093 help 1094 This driver is used to bridge the communications between kernel 1095 and SCU on some embedded Intel x86 platforms. It also creates 1096 devices that are connected to the SoC through the SCU. 1097 Platforms supported: 1098 Medfield 1099 Clovertrail 1100 Merrifield 1101 Broxton 1102 Apollo Lake 1103 1104config INTEL_SCU_PLATFORM 1105 tristate "Intel SCU platform driver" 1106 depends on ACPI 1107 select INTEL_SCU 1108 help 1109 This driver is used to bridge the communications between kernel 1110 and SCU (sometimes called PMC as well). The driver currently 1111 supports Intel Elkhart Lake and compatible platforms. 1112 1113config INTEL_SCU_WDT 1114 bool 1115 default INTEL_SCU_PCI 1116 depends on INTEL_MID_WATCHDOG 1117 help 1118 This is a specific platform code to instantiate watchdog device 1119 on ACPI-based Intel MID platforms. 1120 1121config INTEL_SCU_IPC_UTIL 1122 tristate "Intel SCU IPC utility driver" 1123 depends on INTEL_SCU 1124 help 1125 The IPC Util driver provides an interface with the SCU enabling 1126 low level access for debug work and updating the firmware. Say 1127 N unless you will be doing this on an Intel MID platform. 1128 1129config SIEMENS_SIMATIC_IPC 1130 tristate "Siemens Simatic IPC Class driver" 1131 depends on PCI 1132 help 1133 This Simatic IPC class driver is the central of several drivers. It 1134 is mainly used for system identification, after which drivers in other 1135 classes will take care of driving specifics of those machines. 1136 i.e. LEDs and watchdog. 1137 1138 To compile this driver as a module, choose M here: the module 1139 will be called simatic-ipc. 1140 1141endif # X86_PLATFORM_DEVICES 1142 1143config PMC_ATOM 1144 def_bool y 1145 depends on PCI 1146 select COMMON_CLK 1147