xref: /linux/drivers/platform/x86/Kconfig (revision 3f41368fbfe1b3d5922d317fe1a0a0cab6846802)
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 MEEGOPAD_ANX7428
670	tristate "MeeGoPad ANX7428 Type-C Switch"
671	depends on ACPI && GPIOLIB && I2C
672	help
673	  Some MeeGoPad top-set boxes have an ANX7428 Type-C Switch for
674	  USB3.1 Gen 1 and DisplayPort over Type-C alternate mode support.
675
676	  This driver takes care of powering on the ANX7428 on supported
677	  MeeGoPad top-set boxes. After this the ANX7428 takes care of Type-C
678	  connector orientation and PD alternate mode switching autonomously.
679
680config MSI_EC
681	tristate "MSI EC Extras"
682	depends on ACPI
683	depends on ACPI_BATTERY
684	help
685	  This driver allows various MSI laptops' functionalities to be
686	  controlled from userspace, including battery charge threshold.
687
688config MSI_LAPTOP
689	tristate "MSI Laptop Extras"
690	depends on ACPI
691	depends on BACKLIGHT_CLASS_DEVICE
692	depends on ACPI_VIDEO || ACPI_VIDEO = n
693	depends on RFKILL
694	depends on INPUT && SERIO_I8042
695	select INPUT_SPARSEKMAP
696	help
697	  This is a driver for laptops built by MSI (MICRO-STAR
698	  INTERNATIONAL):
699
700	  MSI MegaBook S270 (MS-1013)
701	  Cytron/TCM/Medion/Tchibo MD96100/SAM2000
702
703	  It adds support for Bluetooth, WLAN and LCD brightness control.
704
705	  More information about this driver is available at
706	  <http://0pointer.de/lennart/tchibo.html>.
707
708	  If you have an MSI S270 laptop, say Y or M here.
709
710config MSI_WMI
711	tristate "MSI WMI extras"
712	depends on ACPI_WMI
713	depends on INPUT
714	depends on BACKLIGHT_CLASS_DEVICE
715	depends on ACPI_VIDEO || ACPI_VIDEO = n
716	select INPUT_SPARSEKMAP
717	help
718	 Say Y here if you want to support WMI-based hotkeys on MSI laptops.
719
720	 To compile this driver as a module, choose M here: the module will
721	 be called msi-wmi.
722
723config MSI_WMI_PLATFORM
724	tristate "MSI WMI Platform features"
725	depends on ACPI_WMI
726	depends on HWMON
727	help
728	  Say Y here if you want to have support for WMI-based platform features
729	  like fan sensor access on MSI machines.
730
731	  To compile this driver as a module, choose M here: the module will
732	  be called msi-wmi-platform.
733
734config XO15_EBOOK
735	tristate "OLPC XO-1.5 ebook switch"
736	depends on OLPC || COMPILE_TEST
737	depends on ACPI && INPUT
738	help
739	  Support for the ebook switch on the OLPC XO-1.5 laptop.
740
741	  This switch is triggered as the screen is rotated and folded down to
742	  convert the device into ebook form.
743
744config XO1_RFKILL
745	tristate "OLPC XO-1 software RF kill switch"
746	depends on OLPC || COMPILE_TEST
747	depends on RFKILL
748	help
749	  Support for enabling/disabling the WLAN interface on the OLPC XO-1
750	  laptop.
751
752config PCENGINES_APU2
753	tristate "PC Engines APUv2/3 front button and LEDs driver"
754	depends on INPUT && INPUT_KEYBOARD && GPIOLIB
755	depends on LEDS_CLASS
756	select GPIO_AMD_FCH
757	select KEYBOARD_GPIO_POLLED
758	select LEDS_GPIO
759	help
760	  This driver provides support for the front button and LEDs on
761	  PC Engines APUv2/APUv3 board.
762
763	  To compile this driver as a module, choose M here: the module
764	  will be called pcengines-apuv2.
765
766config BARCO_P50_GPIO
767	tristate "Barco P50 GPIO driver for identify LED/button"
768	depends on GPIOLIB
769	help
770	  This driver provides access to the GPIOs for the identify button
771	  and led present on Barco P50 board.
772
773	  To compile this driver as a module, choose M here: the module
774	  will be called barco-p50-gpio.
775
776config SAMSUNG_LAPTOP
777	tristate "Samsung Laptop driver"
778	depends on RFKILL || RFKILL = n
779	depends on ACPI_VIDEO || ACPI_VIDEO = n
780	depends on BACKLIGHT_CLASS_DEVICE
781	select LEDS_CLASS
782	select NEW_LEDS
783	help
784	  This module implements a driver for a wide range of different
785	  Samsung laptops.  It offers control over the different
786	  function keys, wireless LED, LCD backlight level.
787
788	  It may also provide some sysfs files described in
789	  <file:Documentation/ABI/testing/sysfs-driver-samsung-laptop>
790
791	  To compile this driver as a module, choose M here: the module
792	  will be called samsung-laptop.
793
794config SAMSUNG_Q10
795	tristate "Samsung Q10 Extras"
796	depends on ACPI
797	select BACKLIGHT_CLASS_DEVICE
798	help
799	  This driver provides support for backlight control on Samsung Q10
800	  and related laptops, including Dell Latitude X200.
801
802config ACPI_TOSHIBA
803	tristate "Toshiba Laptop Extras"
804	depends on ACPI
805	depends on ACPI_BATTERY
806	depends on ACPI_WMI
807	select LEDS_CLASS
808	select NEW_LEDS
809	depends on BACKLIGHT_CLASS_DEVICE
810	depends on INPUT
811	depends on SERIO_I8042 || SERIO_I8042 = n
812	depends on ACPI_VIDEO || ACPI_VIDEO = n
813	depends on HWMON || HWMON = n
814	depends on RFKILL || RFKILL = n
815	depends on IIO
816	select INPUT_SPARSEKMAP
817	help
818	  This driver adds support for access to certain system settings
819	  on "legacy free" Toshiba laptops.  These laptops can be recognized by
820	  their lack of a BIOS setup menu and APM support.
821
822	  On these machines, all system configuration is handled through the
823	  ACPI.  This driver is required for access to controls not covered
824	  by the general ACPI drivers, such as LCD brightness, video output,
825	  etc.
826
827	  This driver differs from the non-ACPI Toshiba laptop driver (located
828	  under "Processor type and features") in several aspects.
829	  Configuration is accessed by reading and writing text files in the
830	  /proc tree instead of by program interface to /dev.  Furthermore, no
831	  power management functions are exposed, as those are handled by the
832	  general ACPI drivers.
833
834	  More information about this driver is available at
835	  <http://memebeam.org/toys/ToshibaAcpiDriver>.
836
837	  If you have a legacy free Toshiba laptop (such as the Libretto L1
838	  series), say Y.
839
840config TOSHIBA_BT_RFKILL
841	tristate "Toshiba Bluetooth RFKill switch support"
842	depends on ACPI
843	depends on RFKILL || RFKILL = n
844	help
845	  This driver adds support for Bluetooth events for the RFKill
846	  switch on modern Toshiba laptops with full ACPI support and
847	  an RFKill switch.
848
849	  This driver handles RFKill events for the TOS6205 Bluetooth,
850	  and re-enables it when the switch is set back to the 'on'
851	  position.
852
853	  If you have a modern Toshiba laptop with a Bluetooth and an
854	  RFKill switch (such as the Portege R500), say Y.
855
856config TOSHIBA_HAPS
857	tristate "Toshiba HDD Active Protection Sensor"
858	depends on ACPI
859	help
860	  This driver adds support for the built-in accelerometer
861	  found on recent Toshiba laptops equipped with HID TOS620A
862	  device.
863
864	  This driver receives ACPI notify events 0x80 when the sensor
865	  detects a sudden move or a harsh vibration, as well as an
866	  ACPI notify event 0x81 whenever the movement or vibration has
867	  been stabilized.
868
869	  Also provides sysfs entries to get/set the desired protection
870	  level and resetting the HDD protection interface.
871
872	  If you have a recent Toshiba laptop with a built-in accelerometer
873	  device, say Y.
874
875config TOSHIBA_WMI
876	tristate "Toshiba WMI Hotkeys Driver (EXPERIMENTAL)"
877	depends on ACPI_WMI
878	depends on INPUT
879	select INPUT_SPARSEKMAP
880	help
881	  This driver adds hotkey monitoring support to some Toshiba models
882	  that manage the hotkeys via WMI events.
883
884	  WARNING: This driver is incomplete as it lacks a proper keymap and the
885	  *notify function only prints the ACPI event type value. Be warned that
886	  you will need to provide some information if you have a Toshiba model
887	  with WMI event hotkeys and want to help with the development of this
888	  driver.
889
890	  If you have a WMI-based hotkeys Toshiba laptop, say Y or M here.
891
892config ACPI_CMPC
893	tristate "CMPC Laptop Extras"
894	depends on ACPI && INPUT
895	depends on RFKILL || RFKILL=n
896	select BACKLIGHT_CLASS_DEVICE
897	help
898	  Support for Intel Classmate PC ACPI devices, including some
899	  keys as input device, backlight device, tablet and accelerometer
900	  devices.
901
902config COMPAL_LAPTOP
903	tristate "Compal (and others) Laptop Extras"
904	depends on ACPI
905	depends on BACKLIGHT_CLASS_DEVICE
906	depends on ACPI_VIDEO || ACPI_VIDEO = n
907	depends on RFKILL
908	depends on HWMON
909	depends on POWER_SUPPLY
910	help
911	  This is a driver for laptops built by Compal, and some models by
912	  other brands (e.g. Dell, Toshiba).
913
914	  It adds support for rfkill, Bluetooth, WLAN, LCD brightness, hwmon
915	  and battery charging level control.
916
917config LG_LAPTOP
918	tristate "LG Laptop Extras"
919	depends on ACPI
920	depends on ACPI_BATTERY
921	depends on ACPI_WMI
922	depends on INPUT
923	select INPUT_SPARSEKMAP
924	select NEW_LEDS
925	select LEDS_CLASS
926	help
927	 This driver adds support for hotkeys as well as control of keyboard
928	 backlight, battery maximum charge level and various other ACPI
929	 features.
930
931	 If you have an LG Gram laptop, say Y or M here.
932
933config PANASONIC_LAPTOP
934	tristate "Panasonic Laptop Extras"
935	depends on INPUT && ACPI
936	depends on BACKLIGHT_CLASS_DEVICE
937	depends on ACPI_VIDEO=n || ACPI_VIDEO
938	depends on SERIO_I8042 || SERIO_I8042 = n
939	select INPUT_SPARSEKMAP
940	help
941	  This driver adds support for access to backlight control and hotkeys
942	  on Panasonic Let's Note laptops.
943
944	  If you have a Panasonic Let's note laptop (such as the R1(N variant),
945	  R2, R3, R5, T2, W2 and Y2 series), say Y.
946
947config SONY_LAPTOP
948	tristate "Sony Laptop Extras"
949	depends on ACPI
950	depends on ACPI_VIDEO || ACPI_VIDEO = n
951	depends on BACKLIGHT_CLASS_DEVICE
952	depends on INPUT
953	depends on RFKILL
954	help
955	  This mini-driver drives the SNC and SPIC devices present in the ACPI
956	  BIOS of the Sony Vaio laptops.
957
958	  It gives access to some extra laptop functionalities like Bluetooth,
959	  screen brightness control, Fn keys and allows powering on/off some
960	  devices.
961
962	  Read <file:Documentation/admin-guide/laptops/sony-laptop.rst> for more information.
963
964config SONYPI_COMPAT
965	bool "Sonypi compatibility"
966	depends on SONY_LAPTOP
967	help
968	  Build the sonypi driver compatibility code into the sony-laptop driver.
969
970config SYSTEM76_ACPI
971	tristate "System76 ACPI Driver"
972	depends on ACPI
973	depends on ACPI_BATTERY
974	depends on HWMON
975	depends on INPUT
976	select NEW_LEDS
977	select LEDS_CLASS
978	select LEDS_TRIGGERS
979	help
980	  This is a driver for System76 laptops running open firmware. It adds
981	  support for Fn-Fx key combinations, keyboard backlight, and airplane mode
982	  LEDs.
983
984	  If you have a System76 laptop running open firmware, say Y or M here.
985
986config TOPSTAR_LAPTOP
987	tristate "Topstar Laptop Extras"
988	depends on ACPI
989	depends on INPUT
990	select INPUT_SPARSEKMAP
991	select LEDS_CLASS
992	select NEW_LEDS
993	help
994	  This driver adds support for hotkeys found on Topstar laptops.
995
996	  If you have a Topstar laptop, say Y or M here.
997
998config SERIAL_MULTI_INSTANTIATE
999	tristate "Serial bus multi instantiate pseudo device driver"
1000	depends on I2C && SPI && ACPI
1001	help
1002	  Some ACPI-based systems list multiple devices in a single ACPI
1003	  firmware-node. This driver will instantiate separate clients
1004	  for each device in the firmware-node.
1005
1006	  To compile this driver as a module, choose M here: the module
1007	  will be called serial-multi-instantiate.
1008
1009config MLX_PLATFORM
1010	tristate "Mellanox Technologies platform support"
1011	depends on ACPI && I2C && PCI
1012	select REGMAP
1013	help
1014	  This option enables system support for the Mellanox Technologies
1015	  platform. The Mellanox systems provide data center networking
1016	  solutions based on Virtual Protocol Interconnect (VPI) technology
1017	  enable seamless connectivity to 56/100Gb/s InfiniBand or 10/40/56GbE
1018	  connection.
1019
1020	  If you have a Mellanox system, say Y or M here.
1021
1022config TOUCHSCREEN_DMI
1023	bool "DMI based touchscreen configuration info"
1024	depends on ACPI && DMI && I2C=y && TOUCHSCREEN_SILEAD
1025	select EFI_EMBEDDED_FIRMWARE if EFI
1026	help
1027	  Certain ACPI based tablets with e.g. Silead or Chipone touchscreens
1028	  do not have enough data in ACPI tables for the touchscreen driver to
1029	  handle the touchscreen properly, as OEMs expect the data to be baked
1030	  into the tablet model specific version of the driver shipped with the
1031	  the OS-image for the device. This option supplies the missing info.
1032	  Enable this for x86 tablets with Silead or Chipone touchscreens.
1033
1034config INSPUR_PLATFORM_PROFILE
1035	tristate "Inspur WMI platform profile driver"
1036	depends on ACPI_WMI
1037	select ACPI_PLATFORM_PROFILE
1038	help
1039	This will allow users to determine and control the platform modes
1040	between low-power, balanced and performance modes.
1041
1042	To compile this driver as a module, choose M here: the module
1043	will be called inspur-platform-profile.
1044
1045config LENOVO_WMI_CAMERA
1046	tristate "Lenovo WMI Camera Button driver"
1047	depends on ACPI_WMI
1048	depends on INPUT
1049	help
1050	  This driver provides support for Lenovo camera button. The Camera
1051	  button is a GPIO device. This driver receives ACPI notifications when
1052	  the camera button is switched on/off.
1053
1054	  To compile this driver as a module, choose M here: the module
1055	  will be called lenovo-wmi-camera.
1056
1057source "drivers/platform/x86/x86-android-tablets/Kconfig"
1058
1059config FW_ATTR_CLASS
1060	tristate
1061
1062config INTEL_IMR
1063	bool "Intel Isolated Memory Region support"
1064	depends on X86_INTEL_QUARK && IOSF_MBI
1065	help
1066	  This option provides a means to manipulate Isolated Memory Regions.
1067	  IMRs are a set of registers that define read and write access masks
1068	  to prohibit certain system agents from accessing memory with 1 KiB
1069	  granularity.
1070
1071	  IMRs make it possible to control read/write access to an address
1072	  by hardware agents inside the SoC. Read and write masks can be
1073	  defined for:
1074		- eSRAM flush
1075		- Dirty CPU snoop (write only)
1076		- RMU access
1077		- PCI Virtual Channel 0/Virtual Channel 1
1078		- SMM mode
1079		- Non SMM mode
1080
1081	  Quark contains a set of eight IMR registers and makes use of those
1082	  registers during its bootup process.
1083
1084	  If you are running on a Galileo/Quark say Y here.
1085
1086config INTEL_IPS
1087	tristate "Intel Intelligent Power Sharing"
1088	depends on ACPI && PCI
1089	help
1090	  Intel Calpella platforms support dynamic power sharing between the
1091	  CPU and GPU, maximizing performance in a given TDP.  This driver,
1092	  along with the CPU frequency and i915 drivers, provides that
1093	  functionality.  If in doubt, say Y here; it will only load on
1094	  supported platforms.
1095
1096config INTEL_SCU_IPC
1097	bool
1098
1099config INTEL_SCU
1100	bool
1101	select INTEL_SCU_IPC
1102
1103config INTEL_SCU_PCI
1104	bool "Intel SCU PCI driver"
1105	depends on PCI
1106	select INTEL_SCU
1107	help
1108	  This driver is used to bridge the communications between kernel
1109	  and SCU on some embedded Intel x86 platforms. It also creates
1110	  devices that are connected to the SoC through the SCU.
1111	  Platforms supported:
1112	    Medfield
1113	    Clovertrail
1114	    Merrifield
1115	    Broxton
1116	    Apollo Lake
1117
1118config INTEL_SCU_PLATFORM
1119	tristate "Intel SCU platform driver"
1120	depends on ACPI
1121	select INTEL_SCU
1122	help
1123	  This driver is used to bridge the communications between kernel
1124	  and SCU (sometimes called PMC as well). The driver currently
1125	  supports Intel Elkhart Lake and compatible platforms.
1126
1127config INTEL_SCU_WDT
1128	bool
1129	default INTEL_SCU_PCI
1130	depends on INTEL_MID_WATCHDOG
1131	help
1132	  This is a specific platform code to instantiate watchdog device
1133	  on ACPI-based Intel MID platforms.
1134
1135config INTEL_SCU_IPC_UTIL
1136	tristate "Intel SCU IPC utility driver"
1137	depends on INTEL_SCU
1138	help
1139	  The IPC Util driver provides an interface with the SCU enabling
1140	  low level access for debug work and updating the firmware. Say
1141	  N unless you will be doing this on an Intel MID platform.
1142
1143source "drivers/platform/x86/siemens/Kconfig"
1144
1145config SILICOM_PLATFORM
1146	tristate "Silicom Edge Networking device support"
1147	depends on HWMON
1148	depends on GPIOLIB
1149	depends on LEDS_CLASS_MULTICOLOR
1150	help
1151	  This option enables support for the LEDs/GPIO/etc downstream of the
1152	  embedded controller on Silicom "Cordoba" hardware and derivatives.
1153
1154	  This platform driver provides support for various functions via
1155	  the Linux LED framework, GPIO framework, Hardware Monitoring (HWMON)
1156	  and device attributes.
1157
1158	  If you have a Silicom network appliance, say Y or M here.
1159
1160config WINMATE_FM07_KEYS
1161	tristate "Winmate FM07/FM07P front-panel keys driver"
1162	depends on INPUT
1163	help
1164	  Winmate FM07 and FM07P in-vehicle computers have a row of five
1165	  buttons below the display. This module adds an input device
1166	  that delivers key events when these buttons are pressed.
1167
1168config SEL3350_PLATFORM
1169	tristate "SEL-3350 LEDs and power supplies"
1170	depends on ACPI
1171	depends on GPIOLIB
1172	depends on PINCTRL_BROXTON
1173	select POWER_SUPPLY
1174	select NEW_LEDS
1175	select LEDS_CLASS
1176	select LEDS_GPIO
1177	help
1178	  Support for LEDs and power supplies on SEL-3350 computers.
1179
1180	  To compile this driver as a module, choose M here: the module
1181	  will be called sel3350-platform.
1182
1183endif # X86_PLATFORM_DEVICES
1184
1185config P2SB
1186	bool
1187	depends on PCI && X86
1188	help
1189	  The Primary to Sideband (P2SB) bridge is an interface to some
1190	  PCI devices connected through it. In particular, SPI NOR controller
1191	  in Intel Apollo Lake SoC is one of such devices.
1192
1193	  The main purpose of this library is to unhide P2SB device in case
1194	  firmware kept it hidden on some platforms in order to access devices
1195	  behind it.
1196