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