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