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