Kconfig 33.8 KB
Newer Older
1
# SPDX-License-Identifier: GPL-2.0-only
2 3 4 5 6 7 8
#
# X86 Platform Specific Drivers
#

menuconfig X86_PLATFORM_DEVICES
	bool "X86 Platform Specific Device Drivers"
	default y
9
	depends on X86
10
	help
11 12 13 14 15 16 17 18
	  Say Y here to get to see options for device drivers for various
	  x86 platforms, including vendor-specific laptop extension drivers.
	  This option alone does not add any kernel code.

	  If you say N, all options in this submenu will be skipped and disabled.

if X86_PLATFORM_DEVICES

19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
config ACPI_WMI
	tristate "WMI"
	depends on ACPI
	help
	  This driver adds support for the ACPI-WMI (Windows Management
	  Instrumentation) mapper device (PNP0C14) found on some systems.

	  ACPI-WMI is a proprietary extension to ACPI to expose parts of the
	  ACPI firmware to userspace - this is done through various vendor
	  defined methods and data blocks in a PNP0C14 device, which are then
	  made available for userspace to call.

	  The implementation of this in Linux currently only exposes this to
	  other kernel space drivers.

	  This driver is a required dependency to build the firmware specific
	  drivers needed on many machines, including Acer and HP laptops.

	  It is safe to enable this driver even if your DSDT doesn't define
	  any ACPI-WMI devices.

config WMI_BMOF
	tristate "WMI embedded Binary MOF driver"
	depends on ACPI_WMI
	default ACPI_WMI
44
	help
45 46 47 48 49 50 51 52 53 54 55 56 57
	  Say Y here if you want to be able to read a firmware-embedded
	  WMI Binary MOF data. Using this requires userspace tools and may be
	  rather tedious.

	  To compile this driver as a module, choose M here: the module will
	  be called wmi-bmof.

config HUAWEI_WMI
	tristate "Huawei WMI laptop extras driver"
	depends on ACPI_BATTERY
	depends on ACPI_WMI
	depends on INPUT
	select INPUT_SPARSEKMAP
58
	select LEDS_CLASS
59 60
	select LEDS_TRIGGERS
	select LEDS_TRIGGER_AUDIO
61
	select NEW_LEDS
62 63 64 65 66 67 68
	help
	  This driver provides support for Huawei WMI hotkeys, battery charge
	  control, fn-lock, mic-mute LED, and other extra features.

	  To compile this driver as a module, choose M here: the module
	  will be called huawei-wmi.

69 70 71 72 73 74 75 76 77 78 79
config UV_SYSFS
	tristate "Sysfs structure for UV systems"
	depends on X86_UV
	depends on SYSFS
	help
	  This driver supports a sysfs tree describing information about
	  UV systems at /sys/firmware/sgi_uv/.

	  To compile this driver as a module, choose M here: the module will
	  be called uv_sysfs.

80 81 82
config MXM_WMI
       tristate "WMI support for MXM Laptop Graphics"
       depends on ACPI_WMI
83
	help
84 85
          MXM is a standard for laptop graphics cards, the WMI interface
	  is required for switchable nvidia graphics machines
86

87 88 89 90 91 92
config PEAQ_WMI
	tristate "PEAQ 2-in-1 WMI hotkey driver"
	depends on ACPI_WMI
	depends on INPUT
	help
	 Say Y here if you want to support WMI-based hotkeys on PEAQ 2-in-1s.
93

94 95
config NVIDIA_WMI_EC_BACKLIGHT
	tristate "EC Backlight Driver for Hybrid Graphics Notebook Systems"
96 97 98
	depends on ACPI_WMI
	depends on BACKLIGHT_CLASS_DEVICE
	help
99 100 101
	  This driver provides a sysfs backlight interface for notebook systems
	  which are equipped with NVIDIA hybrid graphics and drive LCD backlight
	  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

109 110 111 112 113 114 115 116 117
config XIAOMI_WMI
	tristate "Xiaomi WMI key driver"
	depends on ACPI_WMI
	depends on INPUT
	help
	  Say Y here if you want to support WMI-based keys on Xiaomi notebooks.

	  To compile this driver as a module, choose M here: the module will
	  be called xiaomi-wmi.
118

119 120 121 122 123 124 125 126 127 128 129
config GIGABYTE_WMI
	tristate "Gigabyte WMI temperature driver"
	depends on ACPI_WMI
	depends on HWMON
	help
	  Say Y here if you want to support WMI-based temperature reporting on
	  Gigabyte mainboards.

	  To compile this driver as a module, choose M here: the module will
	  be called gigabyte-wmi.

130 131
config ACERHDF
	tristate "Acer Aspire One temperature and fan driver"
132
	depends on ACPI && THERMAL
133
	select THERMAL_GOV_BANG_BANG
134
	help
135 136 137 138 139
	  This is a driver for Acer Aspire One netbooks. It allows to access
	  the temperature sensor and to control the fan.

	  After loading this driver the BIOS is still in control of the fan.
	  To let the kernel handle the fan, do:
140 141 142 143
	  echo -n enabled > /sys/class/thermal/thermal_zoneN/mode
	  where N=0,1,2... depending on the number of thermal nodes and the
	  detection order of your particular system.  The "type" parameter
	  in the same node directory will tell you if it is "acerhdf".
144 145

	  For more information about this driver see
146
	  <https://piie.net/files/acerhdf_README.txt>
147 148 149 150

	  If you have an Acer Aspire One netbook, say Y or M
	  here.

151 152 153 154
config ACER_WIRELESS
        tristate "Acer Wireless Radio Control Driver"
        depends on ACPI
        depends on INPUT
155
	help
156 157 158 159 160 161 162 163 164 165 166
          The Acer Wireless Radio Control handles the airplane mode hotkey
          present on new Acer laptops.

          Say Y or M here if you have an Acer notebook with an airplane mode
          hotkey.

          If you choose to compile this driver as a module the module will be
          called acer-wireless.

config ACER_WMI
	tristate "Acer WMI Laptop Extras"
167
	depends on ACPI
168 169 170 171 172 173
	select LEDS_CLASS
	select NEW_LEDS
	depends on BACKLIGHT_CLASS_DEVICE
	depends on SERIO_I8042
	depends on INPUT
	depends on RFKILL || RFKILL = n
174
	depends on ACPI_WMI
175 176 177
	select INPUT_SPARSEKMAP
	# Acer WMI depends on ACPI_VIDEO when ACPI is enabled
        select ACPI_VIDEO if ACPI
178
	help
179 180 181 182 183 184 185
	  This is a driver for newer Acer (and Wistron) laptops. It adds
	  wireless radio and bluetooth control, and on some laptops,
	  exposes the mail LED and LCD backlight.

	  If you have an ACPI-WMI compatible Acer/ Wistron laptop, say Y or M
	  here.

186 187
config AMD_PMC
	tristate "AMD SoC PMC driver"
188
	depends on ACPI && PCI && RTC_CLASS
189 190 191 192 193 194 195 196 197 198 199
	help
	  The driver provides support for AMD Power Management Controller
	  primarily responsible for S2Idle transactions that are driven from
	  a platform firmware running on SMU. This driver also provides a debug
	  mechanism to investigate the S2Idle transactions and failures.

	  Say Y or M here if you have a notebook powered by AMD RYZEN CPU/APU.

	  If you choose to compile this driver as a module the module will be
	  called amd-pmc.

200 201 202 203 204 205 206 207 208 209 210
config ADV_SWBUTTON
	tristate "Advantech ACPI Software Button Driver"
	depends on ACPI && INPUT
	help
	  Say Y here to enable support for Advantech software defined
	  button feature. More information can be found at
	  <http://www.advantech.com.tw/products/>

	  To compile this driver as a module, choose M here. The module will
	  be called adv_swbutton.

211 212 213 214 215 216 217
config APPLE_GMUX
	tristate "Apple Gmux Driver"
	depends on ACPI && PCI
	depends on PNP
	depends on BACKLIGHT_CLASS_DEVICE
	depends on BACKLIGHT_APPLE=n || BACKLIGHT_APPLE
	depends on ACPI_VIDEO=n || ACPI_VIDEO
218
	help
219 220 221 222
	  This driver provides support for the gmux device found on many
	  Apple laptops, which controls the display mux for the hybrid
	  graphics as well as the backlight. Currently only backlight
	  control is supported by the driver.
223

224
config ASUS_LAPTOP
225
	tristate "Asus Laptop Extras"
226
	depends on ACPI
227 228
	select LEDS_CLASS
	select NEW_LEDS
229
	depends on BACKLIGHT_CLASS_DEVICE
230
	depends on INPUT
C
Corentin Chary 已提交
231
	depends on RFKILL || RFKILL = n
232
	depends on ACPI_VIDEO || ACPI_VIDEO = n
233
	select INPUT_SPARSEKMAP
234
	help
235 236 237
	  This is a driver for Asus laptops, Lenovo SL and the Pegatron
	  Lucid tablet. It may also support some MEDION, JVC or VICTOR
	  laptops. It makes all the extra buttons generate standard
238 239 240 241 242
	  ACPI events and input events, and on the Lucid the built-in
	  accelerometer appears as an input device.  It also adds
	  support for video output switching, LCD backlight control,
	  Bluetooth and Wlan control, and most importantly, allows you
	  to blink those fancy LEDs.
243

244
	  For more information see <http://acpi4asus.sf.net>.
245 246 247

	  If you have an ACPI-compatible ASUS laptop, say Y or M here.

248 249 250 251 252 253
config ASUS_WIRELESS
	tristate "Asus Wireless Radio Control Driver"
	depends on ACPI
	depends on INPUT
	select NEW_LEDS
	select LEDS_CLASS
254
	help
255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276
	  The Asus Wireless Radio Control handles the airplane mode hotkey
	  present on some Asus laptops.

	  Say Y or M here if you have an ASUS notebook with an airplane mode
	  hotkey.

	  If you choose to compile this driver as a module the module will be
	  called asus-wireless.

config ASUS_WMI
	tristate "ASUS WMI Driver"
	depends on ACPI_WMI
	depends on ACPI_BATTERY
	depends on INPUT
	depends on HWMON
	depends on BACKLIGHT_CLASS_DEVICE
	depends on RFKILL || RFKILL = n
	depends on HOTPLUG_PCI
	depends on ACPI_VIDEO || ACPI_VIDEO = n
	select INPUT_SPARSEKMAP
	select LEDS_CLASS
	select NEW_LEDS
277
	select ACPI_PLATFORM_PROFILE
278
	help
279 280 281 282 283 284 285 286 287 288
	  Say Y here if you have a WMI aware Asus laptop (like Eee PCs or new
	  Asus Notebooks).

	  To compile this driver as a module, choose M here: the module will
	  be called asus-wmi.

config ASUS_NB_WMI
	tristate "Asus Notebook WMI Driver"
	depends on ASUS_WMI
	depends on SERIO_I8042 || SERIO_I8042 = n
289
	help
290 291 292 293 294 295 296 297 298
	  This is a driver for newer Asus notebooks. It adds extra features
	  like wireless radio and bluetooth control, leds, hotkeys, backlight...

	  For more information, see
	  <file:Documentation/ABI/testing/sysfs-platform-asus-wmi>

	  If you have an ACPI-WMI compatible Asus Notebook, say Y or M
	  here.

299 300 301 302 303 304 305 306 307 308 309 310 311
config MERAKI_MX100
	tristate "Cisco Meraki MX100 Platform Driver"
	depends on GPIOLIB
	depends on GPIO_ICH
	depends on LEDS_CLASS
	select LEDS_GPIO
	help
	  This driver provides support for the front button and LEDs on
	  the Cisco Meraki MX100 (Tinkerbell) 1U appliance.

	  To compile this driver as a module, choose M here: the module
	  will be called meraki-mx100.

312 313 314 315 316 317 318 319 320 321 322 323
config EEEPC_LAPTOP
	tristate "Eee PC Hotkey Driver"
	depends on ACPI
	depends on INPUT
	depends on RFKILL || RFKILL = n
	depends on ACPI_VIDEO || ACPI_VIDEO = n
	depends on HOTPLUG_PCI
	depends on BACKLIGHT_CLASS_DEVICE
	select HWMON
	select LEDS_CLASS
	select NEW_LEDS
	select INPUT_SPARSEKMAP
324
	help
325 326 327 328 329 330 331 332 333 334 335 336
	  This driver supports the Fn-Fx keys on Eee PC laptops.

	  It  also gives access to some extra laptop functionalities like
	  Bluetooth, backlight and allows powering on/off some other
	  devices.

	  If you have an Eee PC laptop, say Y or M here. If this driver
	  doesn't work on your Eee PC, try eeepc-wmi instead.

config EEEPC_WMI
	tristate "Eee PC WMI Driver"
	depends on ASUS_WMI
337
	help
338 339 340 341 342 343 344 345 346
	  This is a driver for newer Eee PC laptops. It adds extra features
	  like wireless radio and bluetooth control, leds, hotkeys, backlight...

	  For more information, see
	  <file:Documentation/ABI/testing/sysfs-platform-asus-wmi>

	  If you have an ACPI-WMI compatible Eee PC laptop (>= 1000), say Y or M
	  here.

347
source "drivers/platform/x86/dell/Kconfig"
348

349 350
config AMILO_RFKILL
	tristate "Fujitsu-Siemens Amilo rfkill support"
351
	depends on RFKILL
352
	depends on SERIO_I8042
353
	help
354 355
	  This is a driver for enabling wifi on some Fujitsu-Siemens Amilo
	  laptops.
356

357 358 359 360 361
config FUJITSU_LAPTOP
	tristate "Fujitsu Laptop Extras"
	depends on ACPI
	depends on INPUT
	depends on BACKLIGHT_CLASS_DEVICE
362
	depends on ACPI_VIDEO || ACPI_VIDEO = n
363
	select INPUT_SPARSEKMAP
364
	select NEW_LEDS
365
	select LEDS_CLASS
366
	help
367 368 369 370 371 372 373 374 375 376
	  This is a driver for laptops built by Fujitsu:

	    * P2xxx/P5xxx/S6xxx/S7xxx series Lifebooks
	    * Possibly other Fujitsu laptop models
	    * Tested with S6410 and S7020

	  It adds support for LCD brightness control and some hotkeys.

	  If you have a Fujitsu laptop, say Y or M here.

R
Robert Gerlach 已提交
377 378 379 380
config FUJITSU_TABLET
       tristate "Fujitsu Tablet Extras"
       depends on ACPI
       depends on INPUT
381
	help
R
Robert Gerlach 已提交
382 383 384 385 386 387 388 389 390 391 392 393
         This is a driver for tablets built by Fujitsu:

           * Lifebook P1510/P1610/P1620/Txxxx
           * Stylistic ST5xxx
           * Possibly other Fujitsu tablet models

         It adds support for the panel buttons, docking station detection,
         tablet/notebook mode detection for convertible and
         orientation detection for docked slates.

         If you have a Fujitsu convertible or slate, say Y or M here.

394 395 396 397
config GPD_POCKET_FAN
	tristate "GPD Pocket Fan Controller support"
	depends on ACPI
	depends on THERMAL
398
	help
399 400 401 402 403 404 405
	  Driver for the GPD Pocket vendor specific FAN02501 ACPI device
	  which controls the fan speed on the GPD Pocket.

	  Without this driver the fan on the Pocket will stay off independent
	  of the CPU temperature. Say Y or M if the kernel may be used on a
	  GPD pocket.

406 407 408
config HP_ACCEL
	tristate "HP laptop accelerometer"
	depends on INPUT && ACPI
409
	depends on SERIO_I8042
410 411 412 413 414 415 416 417 418 419
	select SENSORS_LIS3LV02D
	select NEW_LEDS
	select LEDS_CLASS
	help
	  This driver provides support for the "Mobile Data Protection System 3D"
	  or "3D DriveGuard" feature of HP laptops. On such systems the driver
	  should load automatically (via ACPI alias).

	  Support for a led indicating disk protection will be provided as
	  hp::hddprotect. For more information on the feature, refer to
420
	  Documentation/misc-devices/lis3lv02d.rst.
421 422 423 424

	  To compile this driver as a module, choose M here: the module will
	  be called hp_accel.

425 426
config WIRELESS_HOTKEY
	tristate "Wireless hotkey button"
427 428 429
	depends on ACPI
	depends on INPUT
	help
430 431
	 This driver provides supports for the wireless buttons found on some AMD,
	 HP, & Xioami laptops.
432 433 434
	 On such systems the driver should load automatically (via ACPI alias).

	 To compile this driver as a module, choose M here: the module will
435
	 be called wireless-hotkey.
436

437 438 439 440
config HP_WMI
	tristate "HP WMI extras"
	depends on ACPI_WMI
	depends on INPUT
J
Johannes Berg 已提交
441
	depends on RFKILL || RFKILL = n
442
	select INPUT_SPARSEKMAP
443
	select ACPI_PLATFORM_PROFILE
444
	select HWMON
445 446 447 448 449 450 451
	help
	 Say Y here if you want to support WMI-based hotkeys on HP laptops and
	 to read data from WMI such as docking or ambient light sensor state.

	 To compile this driver as a module, choose M here: the module will
	 be called hp-wmi.

452 453 454
config TC1100_WMI
	tristate "HP Compaq TC1100 Tablet WMI Extras"
	depends on !X86_64
455 456
	depends on ACPI
	depends on ACPI_WMI
457
	help
458 459
	  This is a driver for the WMI extensions (wireless and bluetooth power
	  control) of the HP Compaq TC1100 tablet.
460

461 462 463
config IBM_RTL
	tristate "Device driver to enable PRTL support"
	depends on PCI
464
	help
465 466 467 468 469
	 Enable support for IBM Premium Real Time Mode (PRTM).
	 This module will allow you the enter and exit PRTM in the BIOS via
	 sysfs on platforms that support this feature.  System in PRTM will
	 not receive CPU-generated SMIs for recoverable errors.  Use of this
	 feature without proper support may void your hardware warranty.
470

471 472 473 474 475
	 If the proper BIOS support is found the driver will load and create
	 /sys/devices/system/ibm_rtl/.  The "state" variable will indicate
	 whether or not the BIOS is in PRTM.
	 state = 0 (BIOS SMIs on)
	 state = 1 (BIOS SMIs off)
476

477 478
config IDEAPAD_LAPTOP
	tristate "Lenovo IdeaPad Laptop Extras"
D
David Woodhouse 已提交
479
	depends on ACPI
480
	depends on RFKILL && INPUT
481
	depends on SERIO_I8042
482
	depends on BACKLIGHT_CLASS_DEVICE
483
	depends on ACPI_VIDEO || ACPI_VIDEO = n
484
	depends on ACPI_WMI || ACPI_WMI = n
485
	select ACPI_PLATFORM_PROFILE
I
Ike Panhc 已提交
486
	select INPUT_SPARSEKMAP
487 488
	select NEW_LEDS
	select LEDS_CLASS
D
David Woodhouse 已提交
489
	help
490 491
	  This is a driver for Lenovo IdeaPad netbooks contains drivers for
	  rfkill switch, hotkey, fan control and backlight control.
D
David Woodhouse 已提交
492

493 494
config SENSORS_HDAPS
	tristate "Thinkpad Hard Drive Active Protection System (hdaps)"
495
	depends on INPUT
496 497 498 499 500
	help
	  This driver provides support for the IBM Hard Drive Active Protection
	  System (hdaps), which provides an accelerometer and other misc. data.
	  ThinkPads starting with the R50, T41, and X40 are supported.  The
	  accelerometer data is readable via sysfs.
501

502 503 504 505 506 507 508 509
	  This driver also provides an absolute input class device, allowing
	  the laptop to act as a pinball machine-esque joystick.

	  If your ThinkPad is not recognized by the driver, please update to latest
	  BIOS. This is especially the case for some R52 ThinkPads.

	  Say Y here if you have an applicable laptop and want to experience
	  the awesome power of hdaps.
510

511 512 513
config THINKPAD_ACPI
	tristate "ThinkPad ACPI Laptop Extras"
	depends on ACPI
514
	depends on ACPI_BATTERY
515
	depends on INPUT
J
Johannes Berg 已提交
516
	depends on RFKILL || RFKILL = n
517 518
	depends on ACPI_VIDEO || ACPI_VIDEO = n
	depends on BACKLIGHT_CLASS_DEVICE
519
	depends on I2C
520
	select ACPI_PLATFORM_PROFILE
521 522 523 524
	select HWMON
	select NVRAM
	select NEW_LEDS
	select LEDS_CLASS
525 526
	select LEDS_TRIGGERS
	select LEDS_TRIGGER_AUDIO
527
	help
528 529 530 531
	  This is a driver for the IBM and Lenovo ThinkPad laptops. It adds
	  support for Fn-Fx key combinations, Bluetooth control, video
	  output switching, ThinkLight control, UltraBay eject and more.
	  For more information about this driver see
532
	  <file:Documentation/admin-guide/laptops/thinkpad-acpi.rst> and
533 534 535 536
	  <http://ibm-acpi.sf.net/> .

	  This driver was formerly known as ibm-acpi.

537 538 539 540 541
	  Extra functionality will be available if the rfkill (CONFIG_RFKILL)
	  and/or ALSA (CONFIG_SND) subsystems are available in the kernel.
	  Note that if you want ThinkPad-ACPI to be built-in instead of
	  modular, ALSA and rfkill will also have to be built-in.

542 543
	  If you have an IBM or Lenovo ThinkPad laptop, say Y or M here.

544 545 546 547 548 549
config THINKPAD_ACPI_ALSA_SUPPORT
	bool "Console audio control ALSA interface"
	depends on THINKPAD_ACPI
	depends on SND
	depends on SND = y || THINKPAD_ACPI = SND
	default y
550
	help
551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566
	  Enables monitoring of the built-in console audio output control
	  (headphone and speakers), which is operated by the mute and (in
	  some ThinkPad models) volume hotkeys.

	  If this option is enabled, ThinkPad-ACPI will export an ALSA card
	  with a single read-only mixer control, which should be used for
	  on-screen-display feedback purposes by the Desktop Environment.

	  Optionally, the driver will also allow software control (the
	  ALSA mixer will be made read-write).  Please refer to the driver
	  documentation for details.

	  All IBM models have both volume and mute control.  Newer Lenovo
	  models only have mute control (the volume hotkeys are just normal
	  keys and volume control is done through the main HDA mixer).

567 568 569
config THINKPAD_ACPI_DEBUGFACILITIES
	bool "Maintainer debug facilities"
	depends on THINKPAD_ACPI
570
	help
571 572 573 574 575 576
	  Enables extra stuff in the thinkpad-acpi which is completely useless
	  for normal use.  Read the driver source to find out what it does.

	  Say N here, unless you were told by a kernel maintainer to do
	  otherwise.

577 578 579
config THINKPAD_ACPI_DEBUG
	bool "Verbose debug mode"
	depends on THINKPAD_ACPI
580
	help
581 582 583 584 585
	  Enables extra debugging information, at the expense of a slightly
	  increase in driver size.

	  If you are not sure, say N here.

586 587 588
config THINKPAD_ACPI_UNSAFE_LEDS
	bool "Allow control of important LEDs (unsafe)"
	depends on THINKPAD_ACPI
589
	help
590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608
	  Overriding LED state on ThinkPads can mask important
	  firmware alerts (like critical battery condition), or misled
	  the user into damaging the hardware (undocking or ejecting
	  the bay while buses are still active), etc.

	  LED control on the ThinkPad is write-only (with very few
	  exceptions on very ancient models), which makes it
	  impossible to know beforehand if important information will
	  be lost when one changes LED state.

	  Users that know what they are doing can enable this option
	  and the driver will allow control of every LED, including
	  the ones on the dock stations.

	  Never enable this option on a distribution kernel.

	  Say N here, unless you are building a kernel for your own
	  use, and need to control the important firmware LEDs.

609 610 611 612
config THINKPAD_ACPI_VIDEO
	bool "Video output control support"
	depends on THINKPAD_ACPI
	default y
613
	help
614 615 616 617 618 619 620 621
	  Allows the thinkpad_acpi driver to provide an interface to control
	  the various video output ports.

	  This feature often won't work well, depending on ThinkPad model,
	  display state, video output devices in use, whether there is a X
	  server running, phase of the moon, and the current mood of
	  Schroedinger's cat.  If you can use X.org's RandR to control
	  your ThinkPad's video output ports instead of this feature,
622 623
	  don't think twice: do it and say N here to save memory and avoid
	  bad interactions with X.org.
624

625 626 627 628 629 630
	  NOTE: access to this feature is limited to processes with the
	  CAP_SYS_ADMIN capability, to avoid local DoS issues in platforms
	  where it interacts badly with X.org.

	  If you are not sure, say Y here but do try to check if you could
	  be using X.org RandR instead.
631 632 633 634 635

config THINKPAD_ACPI_HOTKEY_POLL
	bool "Support NVRAM polling for hot keys"
	depends on THINKPAD_ACPI
	default y
636
	help
637 638 639 640 641 642 643 644 645 646 647 648 649 650 651
	  Some thinkpad models benefit from NVRAM polling to detect a few of
	  the hot key press events.  If you know your ThinkPad model does not
	  need to do NVRAM polling to support any of the hot keys you use,
	  unselecting this option will save about 1kB of memory.

	  ThinkPads T40 and newer, R52 and newer, and X31 and newer are
	  unlikely to need NVRAM polling in their latest BIOS versions.

	  NVRAM polling can detect at most the following keys: ThinkPad/Access
	  IBM, Zoom, Switch Display (fn+F7), ThinkLight, Volume up/down/mute,
	  Brightness up/down, Display Expand (fn+F8), Hibernate (fn+F12).

	  If you are not sure, say Y here.  The driver enables polling only if
	  it is strictly necessary to do so.

652 653 654 655 656 657 658 659 660 661 662
config THINKPAD_LMI
	tristate "Lenovo WMI-based systems management driver"
	depends on ACPI_WMI
	select FW_ATTR_CLASS
	help
	  This driver allows changing BIOS settings on Lenovo machines whose
	  BIOS support the WMI interface.

	  To compile this driver as a module, choose M here: the module will
	  be called think-lmi.

663 664
source "drivers/platform/x86/intel/Kconfig"

665 666 667 668 669 670 671 672
config MSI_LAPTOP
	tristate "MSI Laptop Extras"
	depends on ACPI
	depends on BACKLIGHT_CLASS_DEVICE
	depends on ACPI_VIDEO || ACPI_VIDEO = n
	depends on RFKILL
	depends on INPUT && SERIO_I8042
	select INPUT_SPARSEKMAP
673
	help
674 675
	  This is a driver for laptops built by MSI (MICRO-STAR
	  INTERNATIONAL):
676

677 678 679 680 681 682 683 684 685
	  MSI MegaBook S270 (MS-1013)
	  Cytron/TCM/Medion/Tchibo MD96100/SAM2000

	  It adds support for Bluetooth, WLAN and LCD brightness control.

	  More information about this driver is available at
	  <http://0pointer.de/lennart/tchibo.html>.

	  If you have an MSI S270 laptop, say Y or M here.
686

687 688 689 690
config MSI_WMI
	tristate "MSI WMI extras"
	depends on ACPI_WMI
	depends on INPUT
691
	depends on BACKLIGHT_CLASS_DEVICE
692
	depends on ACPI_VIDEO || ACPI_VIDEO = n
693
	select INPUT_SPARSEKMAP
694 695 696 697 698 699
	help
	 Say Y here if you want to support WMI-based hotkeys on MSI laptops.

	 To compile this driver as a module, choose M here: the module will
	 be called msi-wmi.

700 701 702 703
config XO15_EBOOK
	tristate "OLPC XO-1.5 ebook switch"
	depends on OLPC || COMPILE_TEST
	depends on ACPI && INPUT
704
	help
705 706 707 708 709 710 711 712 713
	  Support for the ebook switch on the OLPC XO-1.5 laptop.

	  This switch is triggered as the screen is rotated and folded down to
	  convert the device into ebook form.

config XO1_RFKILL
	tristate "OLPC XO-1 software RF kill switch"
	depends on OLPC || COMPILE_TEST
	depends on RFKILL
714
	help
715 716 717 718 719 720 721 722 723 724
	  Support for enabling/disabling the WLAN interface on the OLPC XO-1
	  laptop.

config PCENGINES_APU2
	tristate "PC Engines APUv2/3 front button and LEDs driver"
	depends on INPUT && INPUT_KEYBOARD && GPIOLIB
	depends on LEDS_CLASS
	select GPIO_AMD_FCH
	select KEYBOARD_GPIO_POLLED
	select LEDS_GPIO
725
	help
726 727
	  This driver provides support for the front button and LEDs on
	  PC Engines APUv2/APUv3 board.
728

729 730 731
	  To compile this driver as a module, choose M here: the module
	  will be called pcengines-apuv2.

732 733 734 735 736 737 738 739 740 741
config BARCO_P50_GPIO
	tristate "Barco P50 GPIO driver for identify LED/button"
	depends on GPIOLIB
	help
	  This driver provides access to the GPIOs for the identify button
	  and led present on Barco P50 board.

	  To compile this driver as a module, choose M here: the module
	  will be called barco-p50-gpio.

742 743 744 745 746
config SAMSUNG_LAPTOP
	tristate "Samsung Laptop driver"
	depends on RFKILL || RFKILL = n
	depends on ACPI_VIDEO || ACPI_VIDEO = n
	depends on BACKLIGHT_CLASS_DEVICE
747 748
	select LEDS_CLASS
	select NEW_LEDS
749
	help
750 751 752
	  This module implements a driver for a wide range of different
	  Samsung laptops.  It offers control over the different
	  function keys, wireless LED, LCD backlight level.
753

754 755
	  It may also provide some sysfs files described in
	  <file:Documentation/ABI/testing/sysfs-driver-samsung-laptop>
756

757 758 759 760 761
	  To compile this driver as a module, choose M here: the module
	  will be called samsung-laptop.

config SAMSUNG_Q10
	tristate "Samsung Q10 Extras"
762
	depends on ACPI
763
	select BACKLIGHT_CLASS_DEVICE
764
	help
765 766 767 768 769
	  This driver provides support for backlight control on Samsung Q10
	  and related laptops, including Dell Latitude X200.

config ACPI_TOSHIBA
	tristate "Toshiba Laptop Extras"
770
	depends on ACPI
771
	depends on ACPI_WMI
772 773
	select LEDS_CLASS
	select NEW_LEDS
774
	depends on BACKLIGHT_CLASS_DEVICE
775
	depends on INPUT
776
	depends on SERIO_I8042 || SERIO_I8042 = n
777
	depends on ACPI_VIDEO || ACPI_VIDEO = n
778
	depends on RFKILL || RFKILL = n
779
	depends on IIO
780
	select INPUT_SPARSEKMAP
781
	help
782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802
	  This driver adds support for access to certain system settings
	  on "legacy free" Toshiba laptops.  These laptops can be recognized by
	  their lack of a BIOS setup menu and APM support.

	  On these machines, all system configuration is handled through the
	  ACPI.  This driver is required for access to controls not covered
	  by the general ACPI drivers, such as LCD brightness, video output,
	  etc.

	  This driver differs from the non-ACPI Toshiba laptop driver (located
	  under "Processor type and features") in several aspects.
	  Configuration is accessed by reading and writing text files in the
	  /proc tree instead of by program interface to /dev.  Furthermore, no
	  power management functions are exposed, as those are handled by the
	  general ACPI drivers.

	  More information about this driver is available at
	  <http://memebeam.org/toys/ToshibaAcpiDriver>.

	  If you have a legacy free Toshiba laptop (such as the Libretto L1
	  series), say Y.
803 804 805 806

config TOSHIBA_BT_RFKILL
	tristate "Toshiba Bluetooth RFKill switch support"
	depends on ACPI
807
	depends on RFKILL || RFKILL = n
808
	help
809 810 811 812 813 814 815 816 817 818
	  This driver adds support for Bluetooth events for the RFKill
	  switch on modern Toshiba laptops with full ACPI support and
	  an RFKill switch.

	  This driver handles RFKill events for the TOS6205 Bluetooth,
	  and re-enables it when the switch is set back to the 'on'
	  position.

	  If you have a modern Toshiba laptop with a Bluetooth and an
	  RFKill switch (such as the Portege R500), say Y.
819

820 821 822
config TOSHIBA_HAPS
	tristate "Toshiba HDD Active Protection Sensor"
	depends on ACPI
823
	help
824
	  This driver adds support for the built-in accelerometer
825
	  found on recent Toshiba laptops equipped with HID TOS620A
826 827 828 829 830 831 832 833
	  device.

	  This driver receives ACPI notify events 0x80 when the sensor
	  detects a sudden move or a harsh vibration, as well as an
	  ACPI notify event 0x81 whenever the movement or vibration has
	  been stabilized.

	  Also provides sysfs entries to get/set the desired protection
834
	  level and resetting the HDD protection interface.
835 836 837 838

	  If you have a recent Toshiba laptop with a built-in accelerometer
	  device, say Y.

839 840 841 842 843
config TOSHIBA_WMI
	tristate "Toshiba WMI Hotkeys Driver (EXPERIMENTAL)"
	depends on ACPI_WMI
	depends on INPUT
	select INPUT_SPARSEKMAP
844
	help
845 846 847 848 849 850
	  This driver adds hotkey monitoring support to some Toshiba models
	  that manage the hotkeys via WMI events.

	  WARNING: This driver is incomplete as it lacks a proper keymap and the
	  *notify function only prints the ACPI event type value. Be warned that
	  you will need to provide some information if you have a Toshiba model
M
Masanari Iida 已提交
851
	  with WMI event hotkeys and want to help with the development of this
852 853 854 855
	  driver.

	  If you have a WMI-based hotkeys Toshiba laptop, say Y or M here.

856 857
config ACPI_CMPC
	tristate "CMPC Laptop Extras"
858
	depends on ACPI && INPUT
859
	depends on RFKILL || RFKILL=n
860 861 862 863 864 865
	select BACKLIGHT_CLASS_DEVICE
	help
	  Support for Intel Classmate PC ACPI devices, including some
	  keys as input device, backlight device, tablet and accelerometer
	  devices.

866 867 868 869 870 871 872 873
config COMPAL_LAPTOP
	tristate "Compal (and others) Laptop Extras"
	depends on ACPI
	depends on BACKLIGHT_CLASS_DEVICE
	depends on ACPI_VIDEO || ACPI_VIDEO = n
	depends on RFKILL
	depends on HWMON
	depends on POWER_SUPPLY
874
	help
875 876
	  This is a driver for laptops built by Compal, and some models by
	  other brands (e.g. Dell, Toshiba).
877

878 879
	  It adds support for rfkill, Bluetooth, WLAN, LCD brightness, hwmon
	  and battery charging level control.
880

881 882 883 884 885 886
config LG_LAPTOP
	tristate "LG Laptop Extras"
	depends on ACPI
	depends on ACPI_WMI
	depends on INPUT
	select INPUT_SPARSEKMAP
887
	select NEW_LEDS
888 889 890 891 892
	select LEDS_CLASS
	help
	 This driver adds support for hotkeys as well as control of keyboard
	 backlight, battery maximum charge level and various other ACPI
	 features.
893

894 895 896 897 898 899 900
	 If you have an LG Gram laptop, say Y or M here.

config PANASONIC_LAPTOP
	tristate "Panasonic Laptop Extras"
	depends on INPUT && ACPI
	depends on BACKLIGHT_CLASS_DEVICE
	select INPUT_SPARSEKMAP
901
	help
902 903
	  This driver adds support for access to backlight control and hotkeys
	  on Panasonic Let's Note laptops.
904

905 906
	  If you have a Panasonic Let's note laptop (such as the R1(N variant),
	  R2, R3, R5, T2, W2 and Y2 series), say Y.
907

908 909 910 911 912 913 914
config SONY_LAPTOP
	tristate "Sony Laptop Extras"
	depends on ACPI
	depends on ACPI_VIDEO || ACPI_VIDEO = n
	depends on BACKLIGHT_CLASS_DEVICE
	depends on INPUT
	depends on RFKILL
915
	help
916 917
	  This mini-driver drives the SNC and SPIC devices present in the ACPI
	  BIOS of the Sony Vaio laptops.
918

919 920 921
	  It gives access to some extra laptop functionalities like Bluetooth,
	  screen brightness control, Fn keys and allows powering on/off some
	  devices.
922

923
	  Read <file:Documentation/admin-guide/laptops/sony-laptop.rst> for more information.
924

925 926 927
config SONYPI_COMPAT
	bool "Sonypi compatibility"
	depends on SONY_LAPTOP
928
	help
929 930 931 932
	  Build the sonypi driver compatibility code into the sony-laptop driver.

config SYSTEM76_ACPI
	tristate "System76 ACPI Driver"
933
	depends on ACPI
934 935 936
	depends on ACPI_BATTERY
	depends on HWMON
	depends on INPUT
937 938 939
	select NEW_LEDS
	select LEDS_CLASS
	select LEDS_TRIGGERS
940
	help
941 942 943
	  This is a driver for System76 laptops running open firmware. It adds
	  support for Fn-Fx key combinations, keyboard backlight, and airplane mode
	  LEDs.
944

945
	  If you have a System76 laptop running open firmware, say Y or M here.
946

947 948
config TOPSTAR_LAPTOP
	tristate "Topstar Laptop Extras"
949 950 951
	depends on ACPI
	depends on INPUT
	select INPUT_SPARSEKMAP
952 953
	select LEDS_CLASS
	select NEW_LEDS
954
	help
955
	  This driver adds support for hotkeys found on Topstar laptops.
956

957
	  If you have a Topstar laptop, say Y or M here.
958

959 960 961
config I2C_MULTI_INSTANTIATE
	tristate "I2C multi instantiate pseudo device driver"
	depends on I2C && ACPI
962
	help
963 964 965
	  Some ACPI-based systems list multiple i2c-devices in a single ACPI
	  firmware-node. This driver will instantiate separate i2c-clients
	  for each device in the firmware-node.
966

967 968
	  To compile this driver as a module, choose M here: the module
	  will be called i2c-multi-instantiate.
969

970 971 972
config MLX_PLATFORM
	tristate "Mellanox Technologies platform support"
	depends on I2C && REGMAP
973
	help
974 975 976 977 978
	  This option enables system support for the Mellanox Technologies
	  platform. The Mellanox systems provide data center networking
	  solutions based on Virtual Protocol Interconnect (VPI) technology
	  enable seamless connectivity to 56/100Gb/s InfiniBand or 10/40/56GbE
	  connection.
D
Durgadoss R 已提交
979

980 981 982 983 984
	  If you have a Mellanox system, say Y or M here.

config TOUCHSCREEN_DMI
	bool "DMI based touchscreen configuration info"
	depends on ACPI && DMI && I2C=y && TOUCHSCREEN_SILEAD
985
	select EFI_EMBEDDED_FIRMWARE if EFI
986
	help
987 988 989 990 991 992
	  Certain ACPI based tablets with e.g. Silead or Chipone touchscreens
	  do not have enough data in ACPI tables for the touchscreen driver to
	  handle the touchscreen properly, as OEMs expect the data to be baked
	  into the tablet model specific version of the driver shipped with the
	  the OS-image for the device. This option supplies the missing info.
	  Enable this for x86 tablets with Silead or Chipone touchscreens.
993

994 995 996
config FW_ATTR_CLASS
	tristate

997 998 999
config INTEL_IMR
	bool "Intel Isolated Memory Region support"
	depends on X86_INTEL_QUARK && IOSF_MBI
1000
	help
1001 1002 1003 1004 1005 1006 1007 1008
	  This option provides a means to manipulate Isolated Memory Regions.
	  IMRs are a set of registers that define read and write access masks
	  to prohibit certain system agents from accessing memory with 1 KiB
	  granularity.

	  IMRs make it possible to control read/write access to an address
	  by hardware agents inside the SoC. Read and write masks can be
	  defined for:
1009 1010 1011 1012 1013 1014
		- eSRAM flush
		- Dirty CPU snoop (write only)
		- RMU access
		- PCI Virtual Channel 0/Virtual Channel 1
		- SMM mode
		- Non SMM mode
1015

1016 1017
	  Quark contains a set of eight IMR registers and makes use of those
	  registers during its bootup process.
1018

1019 1020 1021 1022
	  If you are running on a Galileo/Quark say Y here.

config INTEL_IPS
	tristate "Intel Intelligent Power Sharing"
1023
	depends on ACPI && PCI
1024
	help
1025 1026 1027 1028 1029
	  Intel Calpella platforms support dynamic power sharing between the
	  CPU and GPU, maximizing performance in a given TDP.  This driver,
	  along with the CPU frequency and i915 drivers, provides that
	  functionality.  If in doubt, say Y here; it will only load on
	  supported platforms.
1030

1031
config INTEL_SCU_IPC
1032 1033 1034 1035 1036 1037 1038 1039
	bool

config INTEL_SCU
	bool
	select INTEL_SCU_IPC

config INTEL_SCU_PCI
	bool "Intel SCU PCI driver"
1040
	depends on PCI
1041 1042 1043 1044
	select INTEL_SCU
	help
	  This driver is used to bridge the communications between kernel
	  and SCU on some embedded Intel x86 platforms. It also creates
1045 1046 1047 1048 1049 1050 1051
	  devices that are connected to the SoC through the SCU.
	  Platforms supported:
	    Medfield
	    Clovertrail
	    Merrifield
	    Broxton
	    Apollo Lake
1052

1053 1054 1055 1056 1057 1058 1059 1060 1061
config INTEL_SCU_PLATFORM
	tristate "Intel SCU platform driver"
	depends on ACPI
	select INTEL_SCU
	help
	  This driver is used to bridge the communications between kernel
	  and SCU (sometimes called PMC as well). The driver currently
	  supports Intel Elkhart Lake and compatible platforms.

1062 1063 1064 1065 1066 1067 1068 1069
config INTEL_SCU_WDT
	bool
	default INTEL_SCU_PCI
	depends on INTEL_MID_WATCHDOG
	help
	  This is a specific platform code to instantiate watchdog device
	  on ACPI-based Intel MID platforms.

1070 1071
config INTEL_SCU_IPC_UTIL
	tristate "Intel SCU IPC utility driver"
1072
	depends on INTEL_SCU
1073
	help
1074 1075 1076
	  The IPC Util driver provides an interface with the SCU enabling
	  low level access for debug work and updating the firmware. Say
	  N unless you will be doing this on an Intel MID platform.
1077

1078
endif # X86_PLATFORM_DEVICES
1079 1080 1081 1082

config PMC_ATOM
       def_bool y
       depends on PCI
1083
       select COMMON_CLK