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