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