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