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