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