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