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