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