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