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