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