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