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