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