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