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