xref: /linux/drivers/platform/x86/Kconfig (revision eb65f96cb332d577b490ab9c9f5f8de8c0316076)
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	select INPUT_SPARSEKMAP
519	help
520	  This is a driver for the IBM and Lenovo ThinkPad laptops. It adds
521	  support for Fn-Fx key combinations, Bluetooth control, video
522	  output switching, ThinkLight control, UltraBay eject and more.
523	  For more information about this driver see
524	  <file:Documentation/admin-guide/laptops/thinkpad-acpi.rst> and
525	  <http://ibm-acpi.sf.net/> .
526
527	  This driver was formerly known as ibm-acpi.
528
529	  Extra functionality will be available if the rfkill (CONFIG_RFKILL)
530	  and/or ALSA (CONFIG_SND) subsystems are available in the kernel.
531	  Note that if you want ThinkPad-ACPI to be built-in instead of
532	  modular, ALSA and rfkill will also have to be built-in.
533
534	  If you have an IBM or Lenovo ThinkPad laptop, say Y or M here.
535
536config THINKPAD_ACPI_ALSA_SUPPORT
537	bool "Console audio control ALSA interface"
538	depends on THINKPAD_ACPI
539	depends on SND
540	depends on SND = y || THINKPAD_ACPI = SND
541	default y
542	help
543	  Enables monitoring of the built-in console audio output control
544	  (headphone and speakers), which is operated by the mute and (in
545	  some ThinkPad models) volume hotkeys.
546
547	  If this option is enabled, ThinkPad-ACPI will export an ALSA card
548	  with a single read-only mixer control, which should be used for
549	  on-screen-display feedback purposes by the Desktop Environment.
550
551	  Optionally, the driver will also allow software control (the
552	  ALSA mixer will be made read-write).  Please refer to the driver
553	  documentation for details.
554
555	  All IBM models have both volume and mute control.  Newer Lenovo
556	  models only have mute control (the volume hotkeys are just normal
557	  keys and volume control is done through the main HDA mixer).
558
559config THINKPAD_ACPI_DEBUGFACILITIES
560	bool "Maintainer debug facilities"
561	depends on THINKPAD_ACPI
562	help
563	  Enables extra stuff in the thinkpad-acpi which is completely useless
564	  for normal use.  Read the driver source to find out what it does.
565
566	  Say N here, unless you were told by a kernel maintainer to do
567	  otherwise.
568
569config THINKPAD_ACPI_DEBUG
570	bool "Verbose debug mode"
571	depends on THINKPAD_ACPI
572	help
573	  Enables extra debugging information, at the expense of a slightly
574	  increase in driver size.
575
576	  If you are not sure, say N here.
577
578config THINKPAD_ACPI_UNSAFE_LEDS
579	bool "Allow control of important LEDs (unsafe)"
580	depends on THINKPAD_ACPI
581	help
582	  Overriding LED state on ThinkPads can mask important
583	  firmware alerts (like critical battery condition), or misled
584	  the user into damaging the hardware (undocking or ejecting
585	  the bay while buses are still active), etc.
586
587	  LED control on the ThinkPad is write-only (with very few
588	  exceptions on very ancient models), which makes it
589	  impossible to know beforehand if important information will
590	  be lost when one changes LED state.
591
592	  Users that know what they are doing can enable this option
593	  and the driver will allow control of every LED, including
594	  the ones on the dock stations.
595
596	  Never enable this option on a distribution kernel.
597
598	  Say N here, unless you are building a kernel for your own
599	  use, and need to control the important firmware LEDs.
600
601config THINKPAD_ACPI_VIDEO
602	bool "Video output control support"
603	depends on THINKPAD_ACPI
604	default y
605	help
606	  Allows the thinkpad_acpi driver to provide an interface to control
607	  the various video output ports.
608
609	  This feature often won't work well, depending on ThinkPad model,
610	  display state, video output devices in use, whether there is a X
611	  server running, phase of the moon, and the current mood of
612	  Schroedinger's cat.  If you can use X.org's RandR to control
613	  your ThinkPad's video output ports instead of this feature,
614	  don't think twice: do it and say N here to save memory and avoid
615	  bad interactions with X.org.
616
617	  NOTE: access to this feature is limited to processes with the
618	  CAP_SYS_ADMIN capability, to avoid local DoS issues in platforms
619	  where it interacts badly with X.org.
620
621	  If you are not sure, say Y here but do try to check if you could
622	  be using X.org RandR instead.
623
624config THINKPAD_ACPI_HOTKEY_POLL
625	bool "Support NVRAM polling for hot keys"
626	depends on THINKPAD_ACPI
627	default y
628	help
629	  Some thinkpad models benefit from NVRAM polling to detect a few of
630	  the hot key press events.  If you know your ThinkPad model does not
631	  need to do NVRAM polling to support any of the hot keys you use,
632	  unselecting this option will save about 1kB of memory.
633
634	  ThinkPads T40 and newer, R52 and newer, and X31 and newer are
635	  unlikely to need NVRAM polling in their latest BIOS versions.
636
637	  NVRAM polling can detect at most the following keys: ThinkPad/Access
638	  IBM, Zoom, Switch Display (fn+F7), ThinkLight, Volume up/down/mute,
639	  Brightness up/down, Display Expand (fn+F8), Hibernate (fn+F12).
640
641	  If you are not sure, say Y here.  The driver enables polling only if
642	  it is strictly necessary to do so.
643
644config THINKPAD_LMI
645	tristate "Lenovo WMI-based systems management driver"
646	depends on ACPI_WMI
647	select FW_ATTR_CLASS
648	help
649	  This driver allows changing BIOS settings on Lenovo machines whose
650	  BIOS support the WMI interface.
651
652	  To compile this driver as a module, choose M here: the module will
653	  be called think-lmi.
654
655source "drivers/platform/x86/intel/Kconfig"
656
657config ACPI_QUICKSTART
658	tristate "ACPI Quickstart button driver"
659	depends on ACPI
660	depends on INPUT
661	select INPUT_SPARSEKMAP
662	help
663	  This driver adds support for ACPI quickstart button (PNP0C32) devices.
664	  The button emits a manufacturer-specific key value when pressed, so
665	  userspace has to map this value to a standard key code.
666
667	  To compile this driver as a module, choose M here: the module will be
668	  called quickstart.
669
670config MEEGOPAD_ANX7428
671	tristate "MeeGoPad ANX7428 Type-C Switch"
672	depends on ACPI && GPIOLIB && I2C
673	help
674	  Some MeeGoPad top-set boxes have an ANX7428 Type-C Switch for
675	  USB3.1 Gen 1 and DisplayPort over Type-C alternate mode support.
676
677	  This driver takes care of powering on the ANX7428 on supported
678	  MeeGoPad top-set boxes. After this the ANX7428 takes care of Type-C
679	  connector orientation and PD alternate mode switching autonomously.
680
681config MSI_EC
682	tristate "MSI EC Extras"
683	depends on ACPI
684	depends on ACPI_BATTERY
685	help
686	  This driver allows various MSI laptops' functionalities to be
687	  controlled from userspace, including battery charge threshold.
688
689config MSI_LAPTOP
690	tristate "MSI Laptop Extras"
691	depends on ACPI
692	depends on BACKLIGHT_CLASS_DEVICE
693	depends on ACPI_VIDEO || ACPI_VIDEO = n
694	depends on RFKILL
695	depends on INPUT && SERIO_I8042
696	select INPUT_SPARSEKMAP
697	help
698	  This is a driver for laptops built by MSI (MICRO-STAR
699	  INTERNATIONAL):
700
701	  MSI MegaBook S270 (MS-1013)
702	  Cytron/TCM/Medion/Tchibo MD96100/SAM2000
703
704	  It adds support for Bluetooth, WLAN and LCD brightness control.
705
706	  More information about this driver is available at
707	  <http://0pointer.de/lennart/tchibo.html>.
708
709	  If you have an MSI S270 laptop, say Y or M here.
710
711config MSI_WMI
712	tristate "MSI WMI extras"
713	depends on ACPI_WMI
714	depends on INPUT
715	depends on BACKLIGHT_CLASS_DEVICE
716	depends on ACPI_VIDEO || ACPI_VIDEO = n
717	select INPUT_SPARSEKMAP
718	help
719	 Say Y here if you want to support WMI-based hotkeys on MSI laptops.
720
721	 To compile this driver as a module, choose M here: the module will
722	 be called msi-wmi.
723
724config MSI_WMI_PLATFORM
725	tristate "MSI WMI Platform features"
726	depends on ACPI_WMI
727	depends on HWMON
728	help
729	  Say Y here if you want to have support for WMI-based platform features
730	  like fan sensor access on MSI machines.
731
732	  To compile this driver as a module, choose M here: the module will
733	  be called msi-wmi-platform.
734
735config XO15_EBOOK
736	tristate "OLPC XO-1.5 ebook switch"
737	depends on OLPC || COMPILE_TEST
738	depends on ACPI && INPUT
739	help
740	  Support for the ebook switch on the OLPC XO-1.5 laptop.
741
742	  This switch is triggered as the screen is rotated and folded down to
743	  convert the device into ebook form.
744
745config XO1_RFKILL
746	tristate "OLPC XO-1 software RF kill switch"
747	depends on OLPC || COMPILE_TEST
748	depends on RFKILL
749	help
750	  Support for enabling/disabling the WLAN interface on the OLPC XO-1
751	  laptop.
752
753config PCENGINES_APU2
754	tristate "PC Engines APUv2/3 front button and LEDs driver"
755	depends on INPUT && INPUT_KEYBOARD && GPIOLIB
756	depends on LEDS_CLASS
757	select GPIO_AMD_FCH
758	select KEYBOARD_GPIO_POLLED
759	select LEDS_GPIO
760	help
761	  This driver provides support for the front button and LEDs on
762	  PC Engines APUv2/APUv3 board.
763
764	  To compile this driver as a module, choose M here: the module
765	  will be called pcengines-apuv2.
766
767config BARCO_P50_GPIO
768	tristate "Barco P50 GPIO driver for identify LED/button"
769	depends on GPIOLIB
770	help
771	  This driver provides access to the GPIOs for the identify button
772	  and led present on Barco P50 board.
773
774	  To compile this driver as a module, choose M here: the module
775	  will be called barco-p50-gpio.
776
777config SAMSUNG_LAPTOP
778	tristate "Samsung Laptop driver"
779	depends on RFKILL || RFKILL = n
780	depends on ACPI_VIDEO || ACPI_VIDEO = n
781	depends on BACKLIGHT_CLASS_DEVICE
782	select LEDS_CLASS
783	select NEW_LEDS
784	help
785	  This module implements a driver for a wide range of different
786	  Samsung laptops.  It offers control over the different
787	  function keys, wireless LED, LCD backlight level.
788
789	  It may also provide some sysfs files described in
790	  <file:Documentation/ABI/testing/sysfs-driver-samsung-laptop>
791
792	  To compile this driver as a module, choose M here: the module
793	  will be called samsung-laptop.
794
795config SAMSUNG_Q10
796	tristate "Samsung Q10 Extras"
797	depends on ACPI
798	select BACKLIGHT_CLASS_DEVICE
799	help
800	  This driver provides support for backlight control on Samsung Q10
801	  and related laptops, including Dell Latitude X200.
802
803config ACPI_TOSHIBA
804	tristate "Toshiba Laptop Extras"
805	depends on ACPI
806	depends on ACPI_BATTERY
807	depends on ACPI_WMI
808	select LEDS_CLASS
809	select NEW_LEDS
810	depends on BACKLIGHT_CLASS_DEVICE
811	depends on INPUT
812	depends on SERIO_I8042 || SERIO_I8042 = n
813	depends on ACPI_VIDEO || ACPI_VIDEO = n
814	depends on HWMON || HWMON = n
815	depends on RFKILL || RFKILL = n
816	depends on IIO
817	select INPUT_SPARSEKMAP
818	help
819	  This driver adds support for access to certain system settings
820	  on "legacy free" Toshiba laptops.  These laptops can be recognized by
821	  their lack of a BIOS setup menu and APM support.
822
823	  On these machines, all system configuration is handled through the
824	  ACPI.  This driver is required for access to controls not covered
825	  by the general ACPI drivers, such as LCD brightness, video output,
826	  etc.
827
828	  This driver differs from the non-ACPI Toshiba laptop driver (located
829	  under "Processor type and features") in several aspects.
830	  Configuration is accessed by reading and writing text files in the
831	  /proc tree instead of by program interface to /dev.  Furthermore, no
832	  power management functions are exposed, as those are handled by the
833	  general ACPI drivers.
834
835	  More information about this driver is available at
836	  <http://memebeam.org/toys/ToshibaAcpiDriver>.
837
838	  If you have a legacy free Toshiba laptop (such as the Libretto L1
839	  series), say Y.
840
841config TOSHIBA_BT_RFKILL
842	tristate "Toshiba Bluetooth RFKill switch support"
843	depends on ACPI
844	depends on RFKILL || RFKILL = n
845	help
846	  This driver adds support for Bluetooth events for the RFKill
847	  switch on modern Toshiba laptops with full ACPI support and
848	  an RFKill switch.
849
850	  This driver handles RFKill events for the TOS6205 Bluetooth,
851	  and re-enables it when the switch is set back to the 'on'
852	  position.
853
854	  If you have a modern Toshiba laptop with a Bluetooth and an
855	  RFKill switch (such as the Portege R500), say Y.
856
857config TOSHIBA_HAPS
858	tristate "Toshiba HDD Active Protection Sensor"
859	depends on ACPI
860	help
861	  This driver adds support for the built-in accelerometer
862	  found on recent Toshiba laptops equipped with HID TOS620A
863	  device.
864
865	  This driver receives ACPI notify events 0x80 when the sensor
866	  detects a sudden move or a harsh vibration, as well as an
867	  ACPI notify event 0x81 whenever the movement or vibration has
868	  been stabilized.
869
870	  Also provides sysfs entries to get/set the desired protection
871	  level and resetting the HDD protection interface.
872
873	  If you have a recent Toshiba laptop with a built-in accelerometer
874	  device, say Y.
875
876config TOSHIBA_WMI
877	tristate "Toshiba WMI Hotkeys Driver (EXPERIMENTAL)"
878	depends on ACPI_WMI
879	depends on INPUT
880	select INPUT_SPARSEKMAP
881	help
882	  This driver adds hotkey monitoring support to some Toshiba models
883	  that manage the hotkeys via WMI events.
884
885	  WARNING: This driver is incomplete as it lacks a proper keymap and the
886	  *notify function only prints the ACPI event type value. Be warned that
887	  you will need to provide some information if you have a Toshiba model
888	  with WMI event hotkeys and want to help with the development of this
889	  driver.
890
891	  If you have a WMI-based hotkeys Toshiba laptop, say Y or M here.
892
893config ACPI_CMPC
894	tristate "CMPC Laptop Extras"
895	depends on ACPI && INPUT
896	depends on RFKILL || RFKILL=n
897	select BACKLIGHT_CLASS_DEVICE
898	help
899	  Support for Intel Classmate PC ACPI devices, including some
900	  keys as input device, backlight device, tablet and accelerometer
901	  devices.
902
903config COMPAL_LAPTOP
904	tristate "Compal (and others) Laptop Extras"
905	depends on ACPI
906	depends on BACKLIGHT_CLASS_DEVICE
907	depends on ACPI_VIDEO || ACPI_VIDEO = n
908	depends on RFKILL
909	depends on HWMON
910	depends on POWER_SUPPLY
911	help
912	  This is a driver for laptops built by Compal, and some models by
913	  other brands (e.g. Dell, Toshiba).
914
915	  It adds support for rfkill, Bluetooth, WLAN, LCD brightness, hwmon
916	  and battery charging level control.
917
918config LG_LAPTOP
919	tristate "LG Laptop Extras"
920	depends on ACPI
921	depends on ACPI_BATTERY
922	depends on ACPI_WMI
923	depends on INPUT
924	select INPUT_SPARSEKMAP
925	select NEW_LEDS
926	select LEDS_CLASS
927	help
928	 This driver adds support for hotkeys as well as control of keyboard
929	 backlight, battery maximum charge level and various other ACPI
930	 features.
931
932	 If you have an LG Gram laptop, say Y or M here.
933
934config PANASONIC_LAPTOP
935	tristate "Panasonic Laptop Extras"
936	depends on INPUT && ACPI
937	depends on BACKLIGHT_CLASS_DEVICE
938	depends on ACPI_VIDEO=n || ACPI_VIDEO
939	depends on SERIO_I8042 || SERIO_I8042 = n
940	select INPUT_SPARSEKMAP
941	help
942	  This driver adds support for access to backlight control and hotkeys
943	  on Panasonic Let's Note laptops.
944
945	  If you have a Panasonic Let's note laptop (such as the R1(N variant),
946	  R2, R3, R5, T2, W2 and Y2 series), say Y.
947
948config SONY_LAPTOP
949	tristate "Sony Laptop Extras"
950	depends on ACPI
951	depends on ACPI_VIDEO || ACPI_VIDEO = n
952	depends on BACKLIGHT_CLASS_DEVICE
953	depends on INPUT
954	depends on RFKILL
955	help
956	  This mini-driver drives the SNC and SPIC devices present in the ACPI
957	  BIOS of the Sony Vaio laptops.
958
959	  It gives access to some extra laptop functionalities like Bluetooth,
960	  screen brightness control, Fn keys and allows powering on/off some
961	  devices.
962
963	  Read <file:Documentation/admin-guide/laptops/sony-laptop.rst> for more information.
964
965config SONYPI_COMPAT
966	bool "Sonypi compatibility"
967	depends on SONY_LAPTOP
968	help
969	  Build the sonypi driver compatibility code into the sony-laptop driver.
970
971config SYSTEM76_ACPI
972	tristate "System76 ACPI Driver"
973	depends on ACPI
974	depends on ACPI_BATTERY
975	depends on HWMON
976	depends on INPUT
977	select NEW_LEDS
978	select LEDS_CLASS
979	select LEDS_TRIGGERS
980	help
981	  This is a driver for System76 laptops running open firmware. It adds
982	  support for Fn-Fx key combinations, keyboard backlight, and airplane mode
983	  LEDs.
984
985	  If you have a System76 laptop running open firmware, say Y or M here.
986
987config TOPSTAR_LAPTOP
988	tristate "Topstar Laptop Extras"
989	depends on ACPI
990	depends on INPUT
991	select INPUT_SPARSEKMAP
992	select LEDS_CLASS
993	select NEW_LEDS
994	help
995	  This driver adds support for hotkeys found on Topstar laptops.
996
997	  If you have a Topstar laptop, say Y or M here.
998
999config SERIAL_MULTI_INSTANTIATE
1000	tristate "Serial bus multi instantiate pseudo device driver"
1001	depends on I2C && SPI && ACPI
1002	help
1003	  Some ACPI-based systems list multiple devices in a single ACPI
1004	  firmware-node. This driver will instantiate separate clients
1005	  for each device in the firmware-node.
1006
1007	  To compile this driver as a module, choose M here: the module
1008	  will be called serial-multi-instantiate.
1009
1010config MLX_PLATFORM
1011	tristate "Mellanox Technologies platform support"
1012	depends on ACPI && I2C && PCI
1013	select REGMAP
1014	help
1015	  This option enables system support for the Mellanox Technologies
1016	  platform. The Mellanox systems provide data center networking
1017	  solutions based on Virtual Protocol Interconnect (VPI) technology
1018	  enable seamless connectivity to 56/100Gb/s InfiniBand or 10/40/56GbE
1019	  connection.
1020
1021	  If you have a Mellanox system, say Y or M here.
1022
1023config TOUCHSCREEN_DMI
1024	bool "DMI based touchscreen configuration info"
1025	depends on ACPI && DMI && I2C=y && TOUCHSCREEN_SILEAD
1026	select EFI_EMBEDDED_FIRMWARE if EFI
1027	help
1028	  Certain ACPI based tablets with e.g. Silead or Chipone touchscreens
1029	  do not have enough data in ACPI tables for the touchscreen driver to
1030	  handle the touchscreen properly, as OEMs expect the data to be baked
1031	  into the tablet model specific version of the driver shipped with the
1032	  the OS-image for the device. This option supplies the missing info.
1033	  Enable this for x86 tablets with Silead or Chipone touchscreens.
1034
1035config INSPUR_PLATFORM_PROFILE
1036	tristate "Inspur WMI platform profile driver"
1037	depends on ACPI_WMI
1038	select ACPI_PLATFORM_PROFILE
1039	help
1040	This will allow users to determine and control the platform modes
1041	between low-power, balanced and performance modes.
1042
1043	To compile this driver as a module, choose M here: the module
1044	will be called inspur-platform-profile.
1045
1046config LENOVO_WMI_CAMERA
1047	tristate "Lenovo WMI Camera Button driver"
1048	depends on ACPI_WMI
1049	depends on INPUT
1050	help
1051	  This driver provides support for Lenovo camera button. The Camera
1052	  button is a GPIO device. This driver receives ACPI notifications when
1053	  the camera button is switched on/off.
1054
1055	  To compile this driver as a module, choose M here: the module
1056	  will be called lenovo-wmi-camera.
1057
1058source "drivers/platform/x86/x86-android-tablets/Kconfig"
1059
1060config FW_ATTR_CLASS
1061	tristate
1062
1063config INTEL_IMR
1064	bool "Intel Isolated Memory Region support"
1065	depends on X86_INTEL_QUARK && IOSF_MBI
1066	help
1067	  This option provides a means to manipulate Isolated Memory Regions.
1068	  IMRs are a set of registers that define read and write access masks
1069	  to prohibit certain system agents from accessing memory with 1 KiB
1070	  granularity.
1071
1072	  IMRs make it possible to control read/write access to an address
1073	  by hardware agents inside the SoC. Read and write masks can be
1074	  defined for:
1075		- eSRAM flush
1076		- Dirty CPU snoop (write only)
1077		- RMU access
1078		- PCI Virtual Channel 0/Virtual Channel 1
1079		- SMM mode
1080		- Non SMM mode
1081
1082	  Quark contains a set of eight IMR registers and makes use of those
1083	  registers during its bootup process.
1084
1085	  If you are running on a Galileo/Quark say Y here.
1086
1087config INTEL_IPS
1088	tristate "Intel Intelligent Power Sharing"
1089	depends on ACPI && PCI
1090	help
1091	  Intel Calpella platforms support dynamic power sharing between the
1092	  CPU and GPU, maximizing performance in a given TDP.  This driver,
1093	  along with the CPU frequency and i915 drivers, provides that
1094	  functionality.  If in doubt, say Y here; it will only load on
1095	  supported platforms.
1096
1097config INTEL_SCU_IPC
1098	bool
1099
1100config INTEL_SCU
1101	bool
1102	select INTEL_SCU_IPC
1103
1104config INTEL_SCU_PCI
1105	bool "Intel SCU PCI driver"
1106	depends on PCI
1107	select INTEL_SCU
1108	help
1109	  This driver is used to bridge the communications between kernel
1110	  and SCU on some embedded Intel x86 platforms. It also creates
1111	  devices that are connected to the SoC through the SCU.
1112	  Platforms supported:
1113	    Medfield
1114	    Clovertrail
1115	    Merrifield
1116	    Broxton
1117	    Apollo Lake
1118
1119config INTEL_SCU_PLATFORM
1120	tristate "Intel SCU platform driver"
1121	depends on ACPI
1122	select INTEL_SCU
1123	help
1124	  This driver is used to bridge the communications between kernel
1125	  and SCU (sometimes called PMC as well). The driver currently
1126	  supports Intel Elkhart Lake and compatible platforms.
1127
1128config INTEL_SCU_WDT
1129	bool
1130	default INTEL_SCU_PCI
1131	depends on INTEL_MID_WATCHDOG
1132	help
1133	  This is a specific platform code to instantiate watchdog device
1134	  on ACPI-based Intel MID platforms.
1135
1136config INTEL_SCU_IPC_UTIL
1137	tristate "Intel SCU IPC utility driver"
1138	depends on INTEL_SCU
1139	help
1140	  The IPC Util driver provides an interface with the SCU enabling
1141	  low level access for debug work and updating the firmware. Say
1142	  N unless you will be doing this on an Intel MID platform.
1143
1144source "drivers/platform/x86/siemens/Kconfig"
1145
1146config SILICOM_PLATFORM
1147	tristate "Silicom Edge Networking device support"
1148	depends on HWMON
1149	depends on GPIOLIB
1150	depends on LEDS_CLASS_MULTICOLOR
1151	help
1152	  This option enables support for the LEDs/GPIO/etc downstream of the
1153	  embedded controller on Silicom "Cordoba" hardware and derivatives.
1154
1155	  This platform driver provides support for various functions via
1156	  the Linux LED framework, GPIO framework, Hardware Monitoring (HWMON)
1157	  and device attributes.
1158
1159	  If you have a Silicom network appliance, say Y or M here.
1160
1161config WINMATE_FM07_KEYS
1162	tristate "Winmate FM07/FM07P front-panel keys driver"
1163	depends on INPUT
1164	help
1165	  Winmate FM07 and FM07P in-vehicle computers have a row of five
1166	  buttons below the display. This module adds an input device
1167	  that delivers key events when these buttons are pressed.
1168
1169config SEL3350_PLATFORM
1170	tristate "SEL-3350 LEDs and power supplies"
1171	depends on ACPI
1172	depends on GPIOLIB
1173	depends on PINCTRL_BROXTON
1174	select POWER_SUPPLY
1175	select NEW_LEDS
1176	select LEDS_CLASS
1177	select LEDS_GPIO
1178	help
1179	  Support for LEDs and power supplies on SEL-3350 computers.
1180
1181	  To compile this driver as a module, choose M here: the module
1182	  will be called sel3350-platform.
1183
1184endif # X86_PLATFORM_DEVICES
1185
1186config P2SB
1187	bool
1188	depends on PCI && X86
1189	help
1190	  The Primary to Sideband (P2SB) bridge is an interface to some
1191	  PCI devices connected through it. In particular, SPI NOR controller
1192	  in Intel Apollo Lake SoC is one of such devices.
1193
1194	  The main purpose of this library is to unhide P2SB device in case
1195	  firmware kept it hidden on some platforms in order to access devices
1196	  behind it.
1197