xref: /openbmc/linux/drivers/platform/x86/Kconfig (revision 9d64fc08)
1#
2# X86 Platform Specific Drivers
3#
4
5menuconfig X86_PLATFORM_DEVICES
6	bool "X86 Platform Specific Device Drivers"
7	default y
8	depends on X86
9	---help---
10	  Say Y here to get to see options for device drivers for various
11	  x86 platforms, including vendor-specific laptop extension drivers.
12	  This option alone does not add any kernel code.
13
14	  If you say N, all options in this submenu will be skipped and disabled.
15
16if X86_PLATFORM_DEVICES
17
18config ACER_WMI
19	tristate "Acer WMI Laptop Extras"
20	depends on ACPI
21	select LEDS_CLASS
22	select NEW_LEDS
23	depends on BACKLIGHT_CLASS_DEVICE
24	depends on SERIO_I8042
25	depends on INPUT
26	depends on RFKILL || RFKILL = n
27	depends on ACPI_WMI
28	select INPUT_SPARSEKMAP
29	# Acer WMI depends on ACPI_VIDEO when ACPI is enabled
30        select ACPI_VIDEO if ACPI
31	---help---
32	  This is a driver for newer Acer (and Wistron) laptops. It adds
33	  wireless radio and bluetooth control, and on some laptops,
34	  exposes the mail LED and LCD backlight.
35
36	  If you have an ACPI-WMI compatible Acer/ Wistron laptop, say Y or M
37	  here.
38
39config ACERHDF
40	tristate "Acer Aspire One temperature and fan driver"
41	depends on ACPI && THERMAL
42	select THERMAL_GOV_BANG_BANG
43	---help---
44	  This is a driver for Acer Aspire One netbooks. It allows to access
45	  the temperature sensor and to control the fan.
46
47	  After loading this driver the BIOS is still in control of the fan.
48	  To let the kernel handle the fan, do:
49	  echo -n enabled > /sys/class/thermal/thermal_zone0/mode
50
51	  For more information about this driver see
52	  <http://piie.net/files/acerhdf_README.txt>
53
54	  If you have an Acer Aspire One netbook, say Y or M
55	  here.
56
57config ALIENWARE_WMI
58	tristate "Alienware Special feature control"
59	depends on ACPI
60	depends on LEDS_CLASS
61	depends on NEW_LEDS
62	depends on ACPI_WMI
63	---help---
64	 This is a driver for controlling Alienware BIOS driven
65	 features.  It exposes an interface for controlling the AlienFX
66	 zones on Alienware machines that don't contain a dedicated AlienFX
67	 USB MCU such as the X51 and X51-R2.
68
69config ASUS_LAPTOP
70	tristate "Asus Laptop Extras"
71	depends on ACPI
72	select LEDS_CLASS
73	select NEW_LEDS
74	depends on BACKLIGHT_CLASS_DEVICE
75	depends on INPUT
76	depends on RFKILL || RFKILL = n
77	depends on ACPI_VIDEO || ACPI_VIDEO = n
78	select INPUT_SPARSEKMAP
79	select INPUT_POLLDEV
80	---help---
81	  This is a driver for Asus laptops, Lenovo SL and the Pegatron
82	  Lucid tablet. It may also support some MEDION, JVC or VICTOR
83	  laptops. It makes all the extra buttons generate standard
84	  ACPI events and input events, and on the Lucid the built-in
85	  accelerometer appears as an input device.  It also adds
86	  support for video output switching, LCD backlight control,
87	  Bluetooth and Wlan control, and most importantly, allows you
88	  to blink those fancy LEDs.
89
90	  For more information see <http://acpi4asus.sf.net>.
91
92	  If you have an ACPI-compatible ASUS laptop, say Y or M here.
93
94config DELL_SMBIOS
95	tristate
96
97config DELL_SMBIOS_WMI
98	tristate "Dell SMBIOS calling interface (WMI implementation)"
99	depends on ACPI_WMI
100	select DELL_WMI_DESCRIPTOR
101	default ACPI_WMI
102	select DELL_SMBIOS
103	---help---
104	This provides an implementation for the Dell SMBIOS calling interface
105	communicated over ACPI-WMI.
106
107	If you have a Dell computer from >2007 you should say Y or M here.
108	If you aren't sure and this module doesn't work for your computer
109	it just won't load.
110
111config DELL_SMBIOS_SMM
112	tristate "Dell SMBIOS calling interface (SMM implementation)"
113	depends on DCDBAS
114	default DCDBAS
115	select DELL_SMBIOS
116	---help---
117	This provides an implementation for the Dell SMBIOS calling interface
118	communicated over SMI/SMM.
119
120	If you have a Dell computer from <=2017 you should say Y or M here.
121	If you aren't sure and this module doesn't work for your computer
122	it just won't load.
123
124config DELL_LAPTOP
125	tristate "Dell Laptop Extras"
126	depends on DMI
127	depends on BACKLIGHT_CLASS_DEVICE
128	depends on ACPI_VIDEO || ACPI_VIDEO = n
129	depends on RFKILL || RFKILL = n
130	depends on SERIO_I8042
131	select DELL_SMBIOS
132	select POWER_SUPPLY
133	select LEDS_CLASS
134	select NEW_LEDS
135	---help---
136	This driver adds support for rfkill and backlight control to Dell
137	laptops (except for some models covered by the Compal driver).
138
139config DELL_WMI
140	tristate "Dell WMI notifications"
141	depends on ACPI_WMI
142	depends on DMI
143	depends on INPUT
144	depends on ACPI_VIDEO || ACPI_VIDEO = n
145	select DELL_WMI_DESCRIPTOR
146	select DELL_SMBIOS
147	select INPUT_SPARSEKMAP
148	---help---
149	  Say Y here if you want to support WMI-based hotkeys on Dell laptops.
150
151	  To compile this driver as a module, choose M here: the module will
152	  be called dell-wmi.
153
154config DELL_WMI_DESCRIPTOR
155	tristate
156	depends on ACPI_WMI
157
158config DELL_WMI_AIO
159	tristate "WMI Hotkeys for Dell All-In-One series"
160	depends on ACPI_WMI
161	depends on INPUT
162	select INPUT_SPARSEKMAP
163	---help---
164	  Say Y here if you want to support WMI-based hotkeys on Dell
165	  All-In-One machines.
166
167	  To compile this driver as a module, choose M here: the module will
168	  be called dell-wmi-aio.
169
170config DELL_WMI_LED
171	tristate "External LED on Dell Business Netbooks"
172	depends on LEDS_CLASS
173	depends on ACPI_WMI
174	help
175	  This adds support for the Latitude 2100 and similar
176	  notebooks that have an external LED.
177
178config DELL_SMO8800
179	tristate "Dell Latitude freefall driver (ACPI SMO88XX)"
180	depends on ACPI
181	---help---
182	  Say Y here if you want to support SMO88XX freefall devices
183	  on Dell Latitude laptops.
184
185	  To compile this driver as a module, choose M here: the module will
186	  be called dell-smo8800.
187
188config DELL_RBTN
189	tristate "Dell Airplane Mode Switch driver"
190	depends on ACPI
191	depends on INPUT
192	depends on RFKILL
193	---help---
194	  Say Y here if you want to support Dell Airplane Mode Switch ACPI
195	  device on Dell laptops. Sometimes it has names: DELLABCE or DELRBTN.
196	  This driver register rfkill device or input hotkey device depending
197	  on hardware type (hw switch slider or keyboard toggle button). For
198	  rfkill devices it receive HW switch events and set correct hard
199	  rfkill state.
200
201	  To compile this driver as a module, choose M here: the module will
202	  be called dell-rbtn.
203
204
205config FUJITSU_LAPTOP
206	tristate "Fujitsu Laptop Extras"
207	depends on ACPI
208	depends on INPUT
209	depends on BACKLIGHT_CLASS_DEVICE
210	depends on ACPI_VIDEO || ACPI_VIDEO = n
211	select INPUT_SPARSEKMAP
212	select LEDS_CLASS
213	---help---
214	  This is a driver for laptops built by Fujitsu:
215
216	    * P2xxx/P5xxx/S6xxx/S7xxx series Lifebooks
217	    * Possibly other Fujitsu laptop models
218	    * Tested with S6410 and S7020
219
220	  It adds support for LCD brightness control and some hotkeys.
221
222	  If you have a Fujitsu laptop, say Y or M here.
223
224config FUJITSU_TABLET
225       tristate "Fujitsu Tablet Extras"
226       depends on ACPI
227       depends on INPUT
228       ---help---
229         This is a driver for tablets built by Fujitsu:
230
231           * Lifebook P1510/P1610/P1620/Txxxx
232           * Stylistic ST5xxx
233           * Possibly other Fujitsu tablet models
234
235         It adds support for the panel buttons, docking station detection,
236         tablet/notebook mode detection for convertible and
237         orientation detection for docked slates.
238
239         If you have a Fujitsu convertible or slate, say Y or M here.
240
241config AMILO_RFKILL
242	tristate "Fujitsu-Siemens Amilo rfkill support"
243	depends on RFKILL
244	depends on SERIO_I8042
245	---help---
246	  This is a driver for enabling wifi on some Fujitsu-Siemens Amilo
247	  laptops.
248
249config TC1100_WMI
250	tristate "HP Compaq TC1100 Tablet WMI Extras"
251	depends on !X86_64
252	depends on ACPI
253	depends on ACPI_WMI
254	---help---
255	  This is a driver for the WMI extensions (wireless and bluetooth power
256	  control) of the HP Compaq TC1100 tablet.
257
258config HP_ACCEL
259	tristate "HP laptop accelerometer"
260	depends on INPUT && ACPI
261	depends on SERIO_I8042
262	select SENSORS_LIS3LV02D
263	select NEW_LEDS
264	select LEDS_CLASS
265	help
266	  This driver provides support for the "Mobile Data Protection System 3D"
267	  or "3D DriveGuard" feature of HP laptops. On such systems the driver
268	  should load automatically (via ACPI alias).
269
270	  Support for a led indicating disk protection will be provided as
271	  hp::hddprotect. For more information on the feature, refer to
272	  Documentation/misc-devices/lis3lv02d.
273
274	  To compile this driver as a module, choose M here: the module will
275	  be called hp_accel.
276
277config HP_WIRELESS
278	tristate "HP wireless button"
279	depends on ACPI
280	depends on INPUT
281	help
282	 This driver provides supports for new HP wireless button for Windows 8.
283	 On such systems the driver should load automatically (via ACPI alias).
284
285	 To compile this driver as a module, choose M here: the module will
286	 be called hp-wireless.
287
288config HP_WMI
289	tristate "HP WMI extras"
290	depends on ACPI_WMI
291	depends on INPUT
292	depends on RFKILL || RFKILL = n
293	select INPUT_SPARSEKMAP
294	help
295	 Say Y here if you want to support WMI-based hotkeys on HP laptops and
296	 to read data from WMI such as docking or ambient light sensor state.
297
298	 To compile this driver as a module, choose M here: the module will
299	 be called hp-wmi.
300
301config MSI_LAPTOP
302	tristate "MSI Laptop Extras"
303	depends on ACPI
304	depends on BACKLIGHT_CLASS_DEVICE
305	depends on ACPI_VIDEO || ACPI_VIDEO = n
306	depends on RFKILL
307	depends on INPUT && SERIO_I8042
308	select INPUT_SPARSEKMAP
309	---help---
310	  This is a driver for laptops built by MSI (MICRO-STAR
311	  INTERNATIONAL):
312
313	  MSI MegaBook S270 (MS-1013)
314	  Cytron/TCM/Medion/Tchibo MD96100/SAM2000
315
316	  It adds support for Bluetooth, WLAN and LCD brightness control.
317
318	  More information about this driver is available at
319	  <http://0pointer.de/lennart/tchibo.html>.
320
321	  If you have an MSI S270 laptop, say Y or M here.
322
323config PANASONIC_LAPTOP
324	tristate "Panasonic Laptop Extras"
325	depends on INPUT && ACPI
326	depends on BACKLIGHT_CLASS_DEVICE
327	select INPUT_SPARSEKMAP
328	---help---
329	  This driver adds support for access to backlight control and hotkeys
330	  on Panasonic Let's Note laptops.
331
332	  If you have a Panasonic Let's note laptop (such as the R1(N variant),
333	  R2, R3, R5, T2, W2 and Y2 series), say Y.
334
335config COMPAL_LAPTOP
336	tristate "Compal (and others) Laptop Extras"
337	depends on ACPI
338	depends on BACKLIGHT_CLASS_DEVICE
339	depends on ACPI_VIDEO || ACPI_VIDEO = n
340	depends on RFKILL
341	depends on HWMON
342	depends on POWER_SUPPLY
343	---help---
344	  This is a driver for laptops built by Compal, and some models by
345	  other brands (e.g. Dell, Toshiba).
346
347	  It adds support for rfkill, Bluetooth, WLAN, LCD brightness, hwmon
348	  and battery charging level control.
349
350	  For a (possibly incomplete) list of supported laptops, please refer
351	  to: Documentation/platform/x86-laptop-drivers.txt
352
353config SONY_LAPTOP
354	tristate "Sony Laptop Extras"
355	depends on ACPI
356	depends on ACPI_VIDEO || ACPI_VIDEO = n
357	depends on BACKLIGHT_CLASS_DEVICE
358	depends on INPUT
359	depends on RFKILL
360	  ---help---
361	  This mini-driver drives the SNC and SPIC devices present in the ACPI
362	  BIOS of the Sony Vaio laptops.
363
364	  It gives access to some extra laptop functionalities like Bluetooth,
365	  screen brightness control, Fn keys and allows powering on/off some
366	  devices.
367
368	  Read <file:Documentation/laptops/sony-laptop.txt> for more information.
369
370config SONYPI_COMPAT
371	bool "Sonypi compatibility"
372	depends on SONY_LAPTOP
373	  ---help---
374	  Build the sonypi driver compatibility code into the sony-laptop driver.
375
376config IDEAPAD_LAPTOP
377	tristate "Lenovo IdeaPad Laptop Extras"
378	depends on ACPI
379	depends on RFKILL && INPUT
380	depends on SERIO_I8042
381	depends on BACKLIGHT_CLASS_DEVICE
382	depends on ACPI_VIDEO || ACPI_VIDEO = n
383	depends on ACPI_WMI || ACPI_WMI = n
384	select INPUT_SPARSEKMAP
385	help
386	  This is a driver for Lenovo IdeaPad netbooks contains drivers for
387	  rfkill switch, hotkey, fan control and backlight control.
388
389config SURFACE3_WMI
390	tristate "Surface 3 WMI Driver"
391	depends on ACPI_WMI
392	depends on DMI
393	depends on INPUT
394	depends on SPI
395	---help---
396	  Say Y here if you have a Surface 3.
397
398	  To compile this driver as a module, choose M here: the module will
399	  be called surface3-wmi.
400
401config THINKPAD_ACPI
402	tristate "ThinkPad ACPI Laptop Extras"
403	depends on ACPI
404	depends on INPUT
405	depends on RFKILL || RFKILL = n
406	depends on ACPI_VIDEO || ACPI_VIDEO = n
407	depends on BACKLIGHT_CLASS_DEVICE
408	select HWMON
409	select NVRAM
410	select NEW_LEDS
411	select LEDS_CLASS
412	---help---
413	  This is a driver for the IBM and Lenovo ThinkPad laptops. It adds
414	  support for Fn-Fx key combinations, Bluetooth control, video
415	  output switching, ThinkLight control, UltraBay eject and more.
416	  For more information about this driver see
417	  <file:Documentation/laptops/thinkpad-acpi.txt> and
418	  <http://ibm-acpi.sf.net/> .
419
420	  This driver was formerly known as ibm-acpi.
421
422	  Extra functionality will be available if the rfkill (CONFIG_RFKILL)
423	  and/or ALSA (CONFIG_SND) subsystems are available in the kernel.
424	  Note that if you want ThinkPad-ACPI to be built-in instead of
425	  modular, ALSA and rfkill will also have to be built-in.
426
427	  If you have an IBM or Lenovo ThinkPad laptop, say Y or M here.
428
429config THINKPAD_ACPI_ALSA_SUPPORT
430	bool "Console audio control ALSA interface"
431	depends on THINKPAD_ACPI
432	depends on SND
433	depends on SND = y || THINKPAD_ACPI = SND
434	default y
435	---help---
436	  Enables monitoring of the built-in console audio output control
437	  (headphone and speakers), which is operated by the mute and (in
438	  some ThinkPad models) volume hotkeys.
439
440	  If this option is enabled, ThinkPad-ACPI will export an ALSA card
441	  with a single read-only mixer control, which should be used for
442	  on-screen-display feedback purposes by the Desktop Environment.
443
444	  Optionally, the driver will also allow software control (the
445	  ALSA mixer will be made read-write).  Please refer to the driver
446	  documentation for details.
447
448	  All IBM models have both volume and mute control.  Newer Lenovo
449	  models only have mute control (the volume hotkeys are just normal
450	  keys and volume control is done through the main HDA mixer).
451
452config THINKPAD_ACPI_DEBUGFACILITIES
453	bool "Maintainer debug facilities"
454	depends on THINKPAD_ACPI
455	default n
456	---help---
457	  Enables extra stuff in the thinkpad-acpi which is completely useless
458	  for normal use.  Read the driver source to find out what it does.
459
460	  Say N here, unless you were told by a kernel maintainer to do
461	  otherwise.
462
463config THINKPAD_ACPI_DEBUG
464	bool "Verbose debug mode"
465	depends on THINKPAD_ACPI
466	default n
467	---help---
468	  Enables extra debugging information, at the expense of a slightly
469	  increase in driver size.
470
471	  If you are not sure, say N here.
472
473config THINKPAD_ACPI_UNSAFE_LEDS
474	bool "Allow control of important LEDs (unsafe)"
475	depends on THINKPAD_ACPI
476	default n
477	---help---
478	  Overriding LED state on ThinkPads can mask important
479	  firmware alerts (like critical battery condition), or misled
480	  the user into damaging the hardware (undocking or ejecting
481	  the bay while buses are still active), etc.
482
483	  LED control on the ThinkPad is write-only (with very few
484	  exceptions on very ancient models), which makes it
485	  impossible to know beforehand if important information will
486	  be lost when one changes LED state.
487
488	  Users that know what they are doing can enable this option
489	  and the driver will allow control of every LED, including
490	  the ones on the dock stations.
491
492	  Never enable this option on a distribution kernel.
493
494	  Say N here, unless you are building a kernel for your own
495	  use, and need to control the important firmware LEDs.
496
497config THINKPAD_ACPI_VIDEO
498	bool "Video output control support"
499	depends on THINKPAD_ACPI
500	default y
501	---help---
502	  Allows the thinkpad_acpi driver to provide an interface to control
503	  the various video output ports.
504
505	  This feature often won't work well, depending on ThinkPad model,
506	  display state, video output devices in use, whether there is a X
507	  server running, phase of the moon, and the current mood of
508	  Schroedinger's cat.  If you can use X.org's RandR to control
509	  your ThinkPad's video output ports instead of this feature,
510	  don't think twice: do it and say N here to save memory and avoid
511	  bad interactions with X.org.
512
513	  NOTE: access to this feature is limited to processes with the
514	  CAP_SYS_ADMIN capability, to avoid local DoS issues in platforms
515	  where it interacts badly with X.org.
516
517	  If you are not sure, say Y here but do try to check if you could
518	  be using X.org RandR instead.
519
520config THINKPAD_ACPI_HOTKEY_POLL
521	bool "Support NVRAM polling for hot keys"
522	depends on THINKPAD_ACPI
523	default y
524	---help---
525	  Some thinkpad models benefit from NVRAM polling to detect a few of
526	  the hot key press events.  If you know your ThinkPad model does not
527	  need to do NVRAM polling to support any of the hot keys you use,
528	  unselecting this option will save about 1kB of memory.
529
530	  ThinkPads T40 and newer, R52 and newer, and X31 and newer are
531	  unlikely to need NVRAM polling in their latest BIOS versions.
532
533	  NVRAM polling can detect at most the following keys: ThinkPad/Access
534	  IBM, Zoom, Switch Display (fn+F7), ThinkLight, Volume up/down/mute,
535	  Brightness up/down, Display Expand (fn+F8), Hibernate (fn+F12).
536
537	  If you are not sure, say Y here.  The driver enables polling only if
538	  it is strictly necessary to do so.
539
540config SENSORS_HDAPS
541	tristate "Thinkpad Hard Drive Active Protection System (hdaps)"
542	depends on INPUT
543	select INPUT_POLLDEV
544	default n
545	help
546	  This driver provides support for the IBM Hard Drive Active Protection
547	  System (hdaps), which provides an accelerometer and other misc. data.
548	  ThinkPads starting with the R50, T41, and X40 are supported.  The
549	  accelerometer data is readable via sysfs.
550
551	  This driver also provides an absolute input class device, allowing
552	  the laptop to act as a pinball machine-esque joystick.
553
554	  If your ThinkPad is not recognized by the driver, please update to latest
555	  BIOS. This is especially the case for some R52 ThinkPads.
556
557	  Say Y here if you have an applicable laptop and want to experience
558	  the awesome power of hdaps.
559
560config INTEL_MENLOW
561	tristate "Thermal Management driver for Intel menlow platform"
562	depends on ACPI_THERMAL
563	select THERMAL
564	---help---
565	  ACPI thermal management enhancement driver on
566	  Intel Menlow platform.
567
568	  If unsure, say N.
569
570config EEEPC_LAPTOP
571	tristate "Eee PC Hotkey Driver"
572	depends on ACPI
573	depends on INPUT
574	depends on RFKILL || RFKILL = n
575	depends on ACPI_VIDEO || ACPI_VIDEO = n
576	depends on HOTPLUG_PCI
577	depends on BACKLIGHT_CLASS_DEVICE
578	select HWMON
579	select LEDS_CLASS
580	select NEW_LEDS
581	select INPUT_SPARSEKMAP
582	---help---
583	  This driver supports the Fn-Fx keys on Eee PC laptops.
584
585	  It  also gives access to some extra laptop functionalities like
586	  Bluetooth, backlight and allows powering on/off some other
587	  devices.
588
589	  If you have an Eee PC laptop, say Y or M here. If this driver
590	  doesn't work on your Eee PC, try eeepc-wmi instead.
591
592config ASUS_WMI
593	tristate "ASUS WMI Driver"
594	depends on ACPI_WMI
595	depends on INPUT
596	depends on HWMON
597	depends on BACKLIGHT_CLASS_DEVICE
598	depends on RFKILL || RFKILL = n
599	depends on HOTPLUG_PCI
600	depends on ACPI_VIDEO || ACPI_VIDEO = n
601	select INPUT_SPARSEKMAP
602	select LEDS_CLASS
603	select NEW_LEDS
604	---help---
605	  Say Y here if you have a WMI aware Asus laptop (like Eee PCs or new
606	  Asus Notebooks).
607
608	  To compile this driver as a module, choose M here: the module will
609	  be called asus-wmi.
610
611config ASUS_NB_WMI
612	tristate "Asus Notebook WMI Driver"
613	depends on ASUS_WMI
614	depends on SERIO_I8042 || SERIO_I8042 = n
615	---help---
616	  This is a driver for newer Asus notebooks. It adds extra features
617	  like wireless radio and bluetooth control, leds, hotkeys, backlight...
618
619	  For more information, see
620	  <file:Documentation/ABI/testing/sysfs-platform-asus-wmi>
621
622	  If you have an ACPI-WMI compatible Asus Notebook, say Y or M
623	  here.
624
625config EEEPC_WMI
626	tristate "Eee PC WMI Driver"
627	depends on ASUS_WMI
628	---help---
629	  This is a driver for newer Eee PC laptops. It adds extra features
630	  like wireless radio and bluetooth control, leds, hotkeys, backlight...
631
632	  For more information, see
633	  <file:Documentation/ABI/testing/sysfs-platform-asus-wmi>
634
635	  If you have an ACPI-WMI compatible Eee PC laptop (>= 1000), say Y or M
636	  here.
637
638config ASUS_WIRELESS
639	tristate "Asus Wireless Radio Control Driver"
640	depends on ACPI
641	depends on INPUT
642	select NEW_LEDS
643	select LEDS_CLASS
644	---help---
645	  The Asus Wireless Radio Control handles the airplane mode hotkey
646	  present on some Asus laptops.
647
648	  Say Y or M here if you have an ASUS notebook with an airplane mode
649	  hotkey.
650
651	  If you choose to compile this driver as a module the module will be
652	  called asus-wireless.
653
654config ACPI_WMI
655	tristate "WMI"
656	depends on ACPI
657	help
658	  This driver adds support for the ACPI-WMI (Windows Management
659	  Instrumentation) mapper device (PNP0C14) found on some systems.
660
661	  ACPI-WMI is a proprietary extension to ACPI to expose parts of the
662	  ACPI firmware to userspace - this is done through various vendor
663	  defined methods and data blocks in a PNP0C14 device, which are then
664	  made available for userspace to call.
665
666	  The implementation of this in Linux currently only exposes this to
667	  other kernel space drivers.
668
669	  This driver is a required dependency to build the firmware specific
670	  drivers needed on many machines, including Acer and HP laptops.
671
672	  It is safe to enable this driver even if your DSDT doesn't define
673	  any ACPI-WMI devices.
674
675config WMI_BMOF
676	tristate "WMI embedded Binary MOF driver"
677	depends on ACPI_WMI
678	default ACPI_WMI
679	---help---
680	  Say Y here if you want to be able to read a firmware-embedded
681	  WMI Binary MOF data. Using this requires userspace tools and may be
682	  rather tedious.
683
684	  To compile this driver as a module, choose M here: the module will
685	  be called wmi-bmof.
686
687config INTEL_WMI_THUNDERBOLT
688	tristate "Intel WMI thunderbolt force power driver"
689	depends on ACPI_WMI
690	default ACPI_WMI
691	---help---
692	  Say Y here if you want to be able to use the WMI interface on select
693	  systems to force the power control of Intel Thunderbolt controllers.
694	  This is useful for updating the firmware when devices are not plugged
695	  into the controller.
696
697	  To compile this driver as a module, choose M here: the module will
698	  be called intel-wmi-thunderbolt.
699
700config MSI_WMI
701	tristate "MSI WMI extras"
702	depends on ACPI_WMI
703	depends on INPUT
704	depends on BACKLIGHT_CLASS_DEVICE
705	depends on ACPI_VIDEO || ACPI_VIDEO = n
706	select INPUT_SPARSEKMAP
707	help
708	 Say Y here if you want to support WMI-based hotkeys on MSI laptops.
709
710	 To compile this driver as a module, choose M here: the module will
711	 be called msi-wmi.
712
713config PEAQ_WMI
714	tristate "PEAQ 2-in-1 WMI hotkey driver"
715	depends on ACPI_WMI
716	depends on INPUT
717	select INPUT_POLLDEV
718	help
719	 Say Y here if you want to support WMI-based hotkeys on PEAQ 2-in-1s.
720
721config TOPSTAR_LAPTOP
722	tristate "Topstar Laptop Extras"
723	depends on ACPI
724	depends on INPUT
725	select INPUT_SPARSEKMAP
726	---help---
727	  This driver adds support for hotkeys found on Topstar laptops.
728
729	  If you have a Topstar laptop, say Y or M here.
730
731config ACPI_TOSHIBA
732	tristate "Toshiba Laptop Extras"
733	depends on ACPI
734	depends on ACPI_WMI
735	select LEDS_CLASS
736	select NEW_LEDS
737	depends on BACKLIGHT_CLASS_DEVICE
738	depends on INPUT
739	depends on SERIO_I8042 || SERIO_I8042 = n
740	depends on ACPI_VIDEO || ACPI_VIDEO = n
741	depends on RFKILL || RFKILL = n
742	depends on IIO
743	select INPUT_POLLDEV
744	select INPUT_SPARSEKMAP
745	---help---
746	  This driver adds support for access to certain system settings
747	  on "legacy free" Toshiba laptops.  These laptops can be recognized by
748	  their lack of a BIOS setup menu and APM support.
749
750	  On these machines, all system configuration is handled through the
751	  ACPI.  This driver is required for access to controls not covered
752	  by the general ACPI drivers, such as LCD brightness, video output,
753	  etc.
754
755	  This driver differs from the non-ACPI Toshiba laptop driver (located
756	  under "Processor type and features") in several aspects.
757	  Configuration is accessed by reading and writing text files in the
758	  /proc tree instead of by program interface to /dev.  Furthermore, no
759	  power management functions are exposed, as those are handled by the
760	  general ACPI drivers.
761
762	  More information about this driver is available at
763	  <http://memebeam.org/toys/ToshibaAcpiDriver>.
764
765	  If you have a legacy free Toshiba laptop (such as the Libretto L1
766	  series), say Y.
767
768config TOSHIBA_BT_RFKILL
769	tristate "Toshiba Bluetooth RFKill switch support"
770	depends on ACPI
771	depends on RFKILL || RFKILL = n
772	---help---
773	  This driver adds support for Bluetooth events for the RFKill
774	  switch on modern Toshiba laptops with full ACPI support and
775	  an RFKill switch.
776
777	  This driver handles RFKill events for the TOS6205 Bluetooth,
778	  and re-enables it when the switch is set back to the 'on'
779	  position.
780
781	  If you have a modern Toshiba laptop with a Bluetooth and an
782	  RFKill switch (such as the Portege R500), say Y.
783
784config TOSHIBA_HAPS
785	tristate "Toshiba HDD Active Protection Sensor"
786	depends on ACPI
787	---help---
788	  This driver adds support for the built-in accelerometer
789	  found on recent Toshiba laptops equipped with HID TOS620A
790	  device.
791
792	  This driver receives ACPI notify events 0x80 when the sensor
793	  detects a sudden move or a harsh vibration, as well as an
794	  ACPI notify event 0x81 whenever the movement or vibration has
795	  been stabilized.
796
797	  Also provides sysfs entries to get/set the desired protection
798	  level and resetting the HDD protection interface.
799
800	  If you have a recent Toshiba laptop with a built-in accelerometer
801	  device, say Y.
802
803config TOSHIBA_WMI
804	tristate "Toshiba WMI Hotkeys Driver (EXPERIMENTAL)"
805	default n
806	depends on ACPI_WMI
807	depends on INPUT
808	select INPUT_SPARSEKMAP
809	---help---
810	  This driver adds hotkey monitoring support to some Toshiba models
811	  that manage the hotkeys via WMI events.
812
813	  WARNING: This driver is incomplete as it lacks a proper keymap and the
814	  *notify function only prints the ACPI event type value. Be warned that
815	  you will need to provide some information if you have a Toshiba model
816	  with WMI event hotkeys and want to help with the develpment of this
817	  driver.
818
819	  If you have a WMI-based hotkeys Toshiba laptop, say Y or M here.
820
821config ACPI_CMPC
822	tristate "CMPC Laptop Extras"
823	depends on ACPI
824	depends on RFKILL || RFKILL=n
825	select INPUT
826	select BACKLIGHT_CLASS_DEVICE
827	default n
828	help
829	  Support for Intel Classmate PC ACPI devices, including some
830	  keys as input device, backlight device, tablet and accelerometer
831	  devices.
832
833config INTEL_CHT_INT33FE
834	tristate "Intel Cherry Trail ACPI INT33FE Driver"
835	depends on X86 && ACPI && I2C && REGULATOR
836	---help---
837	  This driver add support for the INT33FE ACPI device found on
838	  some Intel Cherry Trail devices.
839
840	  The INT33FE ACPI device has a CRS table with I2cSerialBusV2
841	  resources for 3 devices: Maxim MAX17047 Fuel Gauge Controller,
842	  FUSB302 USB Type-C Controller and PI3USB30532 USB switch.
843	  This driver instantiates i2c-clients for these, so that standard
844	  i2c drivers for these chips can bind to the them.
845
846	  If you enable this driver it is advised to also select
847	  CONFIG_TYPEC_FUSB302=m, CONFIG_CHARGER_BQ24190=m and
848	  CONFIG_BATTERY_MAX17042=m.
849
850config INTEL_INT0002_VGPIO
851	tristate "Intel ACPI INT0002 Virtual GPIO driver"
852	depends on GPIOLIB && ACPI
853	select GPIOLIB_IRQCHIP
854	---help---
855	  Some peripherals on Bay Trail and Cherry Trail platforms signal a
856	  Power Management Event (PME) to the Power Management Controller (PMC)
857	  to wakeup the system. When this happens software needs to explicitly
858	  clear the PME bus 0 status bit in the GPE0a_STS register to avoid an
859	  IRQ storm on IRQ 9.
860
861	  This is modelled in ACPI through the INT0002 ACPI device, which is
862	  called a "Virtual GPIO controller" in ACPI because it defines the
863	  event handler to call when the PME triggers through _AEI and _L02
864	  methods as would be done for a real GPIO interrupt in ACPI.
865
866	  To compile this driver as a module, choose M here: the module will
867	  be called intel_int0002_vgpio.
868
869config INTEL_HID_EVENT
870	tristate "INTEL HID Event"
871	depends on ACPI
872	depends on INPUT
873	select INPUT_SPARSEKMAP
874	help
875	  This driver provides support for the Intel HID Event hotkey interface.
876	  Some laptops require this driver for hotkey support.
877
878	  To compile this driver as a module, choose M here: the module will
879	  be called intel_hid.
880
881config INTEL_VBTN
882	tristate "INTEL VIRTUAL BUTTON"
883	depends on ACPI
884	depends on INPUT
885	select INPUT_SPARSEKMAP
886	help
887	  This driver provides support for the Intel Virtual Button interface.
888	  Some laptops require this driver for power button support.
889
890	  To compile this driver as a module, choose M here: the module will
891	  be called intel_vbtn.
892
893config INTEL_SCU_IPC
894	bool "Intel SCU IPC Support"
895	depends on X86_INTEL_MID
896	default y
897	---help---
898	  IPC is used to bridge the communications between kernel and SCU on
899	  some embedded Intel x86 platforms. This is not needed for PC-type
900	  machines.
901
902config INTEL_SCU_IPC_UTIL
903	tristate "Intel SCU IPC utility driver"
904	depends on INTEL_SCU_IPC
905	default y
906	---help---
907	  The IPC Util driver provides an interface with the SCU enabling
908	  low level access for debug work and updating the firmware. Say
909	  N unless you will be doing this on an Intel MID platform.
910
911config INTEL_MID_POWER_BUTTON
912	tristate "power button driver for Intel MID platforms"
913	depends on INTEL_SCU_IPC && INPUT
914	help
915	  This driver handles the power button on the Intel MID platforms.
916
917	  If unsure, say N.
918
919config INTEL_MFLD_THERMAL
920       tristate "Thermal driver for Intel Medfield platform"
921       depends on MFD_INTEL_MSIC && THERMAL
922       help
923         Say Y here to enable thermal driver support for the  Intel Medfield
924         platform.
925
926config INTEL_IPS
927	tristate "Intel Intelligent Power Sharing"
928	depends on ACPI
929	---help---
930	  Intel Calpella platforms support dynamic power sharing between the
931	  CPU and GPU, maximizing performance in a given TDP.  This driver,
932	  along with the CPU frequency and i915 drivers, provides that
933	  functionality.  If in doubt, say Y here; it will only load on
934	  supported platforms.
935
936config INTEL_IMR
937	bool "Intel Isolated Memory Region support"
938	default n
939	depends on X86_INTEL_QUARK && IOSF_MBI
940	---help---
941	  This option provides a means to manipulate Isolated Memory Regions.
942	  IMRs are a set of registers that define read and write access masks
943	  to prohibit certain system agents from accessing memory with 1 KiB
944	  granularity.
945
946	  IMRs make it possible to control read/write access to an address
947	  by hardware agents inside the SoC. Read and write masks can be
948	  defined for:
949		- eSRAM flush
950		- Dirty CPU snoop (write only)
951		- RMU access
952		- PCI Virtual Channel 0/Virtual Channel 1
953		- SMM mode
954		- Non SMM mode
955
956	  Quark contains a set of eight IMR registers and makes use of those
957	  registers during its bootup process.
958
959	  If you are running on a Galileo/Quark say Y here.
960
961config INTEL_PMC_CORE
962	bool "Intel PMC Core driver"
963	depends on PCI
964	---help---
965	  The Intel Platform Controller Hub for Intel Core SoCs provides access
966	  to Power Management Controller registers via a PCI interface. This
967	  driver can utilize debugging capabilities and supported features as
968	  exposed by the Power Management Controller.
969
970	  Supported features:
971		- SLP_S0_RESIDENCY counter.
972
973config IBM_RTL
974	tristate "Device driver to enable PRTL support"
975	depends on PCI
976	---help---
977	 Enable support for IBM Premium Real Time Mode (PRTM).
978	 This module will allow you the enter and exit PRTM in the BIOS via
979	 sysfs on platforms that support this feature.  System in PRTM will
980	 not receive CPU-generated SMIs for recoverable errors.  Use of this
981	 feature without proper support may void your hardware warranty.
982
983	 If the proper BIOS support is found the driver will load and create
984	 /sys/devices/system/ibm_rtl/.  The "state" variable will indicate
985	 whether or not the BIOS is in PRTM.
986	 state = 0 (BIOS SMIs on)
987	 state = 1 (BIOS SMIs off)
988
989config XO1_RFKILL
990	tristate "OLPC XO-1 software RF kill switch"
991	depends on OLPC || COMPILE_TEST
992	depends on RFKILL
993	---help---
994	  Support for enabling/disabling the WLAN interface on the OLPC XO-1
995	  laptop.
996
997config XO15_EBOOK
998	tristate "OLPC XO-1.5 ebook switch"
999	depends on OLPC || COMPILE_TEST
1000	depends on ACPI && INPUT
1001	---help---
1002	  Support for the ebook switch on the OLPC XO-1.5 laptop.
1003
1004	  This switch is triggered as the screen is rotated and folded down to
1005	  convert the device into ebook form.
1006
1007config SAMSUNG_LAPTOP
1008	tristate "Samsung Laptop driver"
1009	depends on RFKILL || RFKILL = n
1010	depends on ACPI_VIDEO || ACPI_VIDEO = n
1011	depends on BACKLIGHT_CLASS_DEVICE
1012	select LEDS_CLASS
1013	select NEW_LEDS
1014	---help---
1015	  This module implements a driver for a wide range of different
1016	  Samsung laptops.  It offers control over the different
1017	  function keys, wireless LED, LCD backlight level.
1018
1019	  It may also provide some sysfs files described in
1020	  <file:Documentation/ABI/testing/sysfs-platform-samsung-laptop>
1021
1022	  To compile this driver as a module, choose M here: the module
1023	  will be called samsung-laptop.
1024
1025config MXM_WMI
1026       tristate "WMI support for MXM Laptop Graphics"
1027       depends on ACPI_WMI
1028       ---help---
1029          MXM is a standard for laptop graphics cards, the WMI interface
1030	  is required for switchable nvidia graphics machines
1031
1032config INTEL_OAKTRAIL
1033	tristate "Intel Oaktrail Platform Extras"
1034	depends on ACPI
1035	depends on ACPI_VIDEO || ACPI_VIDEO = n
1036	depends on RFKILL && BACKLIGHT_CLASS_DEVICE && ACPI
1037	---help---
1038	  Intel Oaktrail platform need this driver to provide interfaces to
1039	  enable/disable the Camera, WiFi, BT etc. devices. If in doubt, say Y
1040	  here; it will only load on supported platforms.
1041
1042config SAMSUNG_Q10
1043	tristate "Samsung Q10 Extras"
1044	depends on ACPI
1045	select BACKLIGHT_CLASS_DEVICE
1046	---help---
1047	  This driver provides support for backlight control on Samsung Q10
1048	  and related laptops, including Dell Latitude X200.
1049
1050config APPLE_GMUX
1051	tristate "Apple Gmux Driver"
1052	depends on ACPI
1053	depends on PNP
1054	depends on BACKLIGHT_CLASS_DEVICE
1055	depends on BACKLIGHT_APPLE=n || BACKLIGHT_APPLE
1056	depends on ACPI_VIDEO=n || ACPI_VIDEO
1057	---help---
1058	  This driver provides support for the gmux device found on many
1059	  Apple laptops, which controls the display mux for the hybrid
1060	  graphics as well as the backlight. Currently only backlight
1061	  control is supported by the driver.
1062
1063config INTEL_RST
1064        tristate "Intel Rapid Start Technology Driver"
1065	depends on ACPI
1066	---help---
1067	  This driver provides support for modifying paramaters on systems
1068	  equipped with Intel's Rapid Start Technology. When put in an ACPI
1069	  sleep state, these devices will wake after either a configured
1070	  timeout or when the system battery reaches a critical state,
1071	  automatically copying memory contents to disk. On resume, the
1072	  firmware will copy the memory contents back to RAM and resume the OS
1073	  as usual.
1074
1075config INTEL_SMARTCONNECT
1076        tristate "Intel Smart Connect disabling driver"
1077	depends on ACPI
1078	---help---
1079	  Intel Smart Connect is a technology intended to permit devices to
1080	  update state by resuming for a short period of time at regular
1081	  intervals. If a user enables this functionality under Windows and
1082	  then reboots into Linux, the system may remain configured to resume
1083	  on suspend. In the absence of any userspace to support it, the system
1084	  will then remain awake until something triggers another suspend.
1085
1086	  This driver checks to determine whether the device has Intel Smart
1087	  Connect enabled, and if so disables it.
1088
1089config PVPANIC
1090	tristate "pvpanic device support"
1091	depends on ACPI
1092	---help---
1093	  This driver provides support for the pvpanic device.  pvpanic is
1094	  a paravirtualized device provided by QEMU; it lets a virtual machine
1095	  (guest) communicate panic events to the host.
1096
1097config INTEL_PMC_IPC
1098	tristate "Intel PMC IPC Driver"
1099	depends on ACPI
1100	---help---
1101	This driver provides support for PMC control on some Intel platforms.
1102	The PMC is an ARC processor which defines IPC commands for communication
1103	with other entities in the CPU.
1104
1105config INTEL_BXTWC_PMIC_TMU
1106	tristate "Intel BXT Whiskey Cove TMU Driver"
1107	depends on REGMAP
1108	depends on INTEL_SOC_PMIC_BXTWC && INTEL_PMC_IPC
1109	---help---
1110	  Select this driver to use Intel BXT Whiskey Cove PMIC TMU feature.
1111	  This driver enables the alarm wakeup functionality in the TMU unit
1112	  of Whiskey Cove PMIC.
1113
1114config SURFACE_PRO3_BUTTON
1115	tristate "Power/home/volume buttons driver for Microsoft Surface Pro 3/4 tablet"
1116	depends on ACPI && INPUT
1117	---help---
1118	  This driver handles the power/home/volume buttons on the Microsoft Surface Pro 3/4 tablet.
1119
1120config SURFACE_3_BUTTON
1121	tristate "Power/home/volume buttons driver for Microsoft Surface 3 tablet"
1122	depends on ACPI && KEYBOARD_GPIO && I2C
1123	---help---
1124	  This driver handles the power/home/volume buttons on the Microsoft Surface 3 tablet.
1125
1126config INTEL_PUNIT_IPC
1127	tristate "Intel P-Unit IPC Driver"
1128	---help---
1129	  This driver provides support for Intel P-Unit Mailbox IPC mechanism,
1130	  which is used to bridge the communications between kernel and P-Unit.
1131
1132config INTEL_TELEMETRY
1133	tristate "Intel SoC Telemetry Driver"
1134	depends on INTEL_PMC_IPC && INTEL_PUNIT_IPC && X86_64
1135	---help---
1136	  This driver provides interfaces to configure and use
1137	  telemetry for INTEL SoC from APL onwards. It is also
1138	  used to get various SoC events and parameters
1139	  directly via debugfs files. Various tools may use
1140	  this interface for SoC state monitoring.
1141
1142config MLX_PLATFORM
1143	tristate "Mellanox Technologies platform support"
1144	depends on X86_64
1145	---help---
1146	  This option enables system support for the Mellanox Technologies
1147	  platform. The Mellanox systems provide data center networking
1148	  solutions based on Virtual Protocol Interconnect (VPI) technology
1149	  enable seamless connectivity to 56/100Gb/s InfiniBand or 10/40/56GbE
1150	  connection.
1151
1152	  If you have a Mellanox system, say Y or M here.
1153
1154config MLX_CPLD_PLATFORM
1155	tristate "Mellanox platform hotplug driver support"
1156	default n
1157	select HWMON
1158	select I2C
1159	---help---
1160	  This driver handles hot-plug events for the power suppliers, power
1161	  cables and fans on the wide range Mellanox IB and Ethernet systems.
1162
1163config INTEL_TURBO_MAX_3
1164	bool "Intel Turbo Boost Max Technology 3.0 enumeration driver"
1165	depends on X86_64 && SCHED_MC_PRIO
1166	---help---
1167	  This driver reads maximum performance ratio of each CPU and set up
1168	  the scheduler priority metrics. In this way scheduler can prefer
1169	  CPU with higher performance to schedule tasks.
1170	  This driver is only required when the system is not using Hardware
1171	  P-States (HWP). In HWP mode, priority can be read from ACPI tables.
1172
1173config SILEAD_DMI
1174	bool "Tablets with Silead touchscreens"
1175	depends on ACPI && DMI && I2C=y && TOUCHSCREEN_SILEAD
1176	---help---
1177	  Certain ACPI based tablets with Silead touchscreens do not have
1178	  enough data in ACPI tables for the touchscreen driver to handle
1179	  the touchscreen properly, as OEMs expected the data to be baked
1180	  into the tablet model specific version of the driver shipped
1181	  with the OS-image for the device. This option supplies the missing
1182	  information. Enable this for x86 tablets with Silead touchscreens.
1183
1184endif # X86_PLATFORM_DEVICES
1185
1186config PMC_ATOM
1187       def_bool y
1188       depends on PCI
1189       select COMMON_CLK
1190