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