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