]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/blob - drivers/platform/x86/Kconfig
platform/x86: panasonic-laptop: don't report duplicate brightness key-presses
[mirror_ubuntu-jammy-kernel.git] / drivers / platform / x86 / Kconfig
1 # SPDX-License-Identifier: GPL-2.0-only
2 #
3 # X86 Platform Specific Drivers
4 #
5
6 menuconfig X86_PLATFORM_DEVICES
7 bool "X86 Platform Specific Device Drivers"
8 default y
9 depends on X86
10 help
11 Say Y here to get to see options for device drivers for various
12 x86 platforms, including vendor-specific laptop extension drivers.
13 This option alone does not add any kernel code.
14
15 If you say N, all options in this submenu will be skipped and disabled.
16
17 if X86_PLATFORM_DEVICES
18
19 config ACPI_WMI
20 tristate "WMI"
21 depends on ACPI
22 help
23 This driver adds support for the ACPI-WMI (Windows Management
24 Instrumentation) mapper device (PNP0C14) found on some systems.
25
26 ACPI-WMI is a proprietary extension to ACPI to expose parts of the
27 ACPI firmware to userspace - this is done through various vendor
28 defined methods and data blocks in a PNP0C14 device, which are then
29 made available for userspace to call.
30
31 The implementation of this in Linux currently only exposes this to
32 other kernel space drivers.
33
34 This driver is a required dependency to build the firmware specific
35 drivers needed on many machines, including Acer and HP laptops.
36
37 It is safe to enable this driver even if your DSDT doesn't define
38 any ACPI-WMI devices.
39
40 config WMI_BMOF
41 tristate "WMI embedded Binary MOF driver"
42 depends on ACPI_WMI
43 default ACPI_WMI
44 help
45 Say Y here if you want to be able to read a firmware-embedded
46 WMI Binary MOF data. Using this requires userspace tools and may be
47 rather tedious.
48
49 To compile this driver as a module, choose M here: the module will
50 be called wmi-bmof.
51
52 config HUAWEI_WMI
53 tristate "Huawei WMI laptop extras driver"
54 depends on ACPI_BATTERY
55 depends on ACPI_WMI
56 depends on INPUT
57 select INPUT_SPARSEKMAP
58 select LEDS_CLASS
59 select LEDS_TRIGGERS
60 select LEDS_TRIGGER_AUDIO
61 select NEW_LEDS
62 help
63 This driver provides support for Huawei WMI hotkeys, battery charge
64 control, fn-lock, mic-mute LED, and other extra features.
65
66 To compile this driver as a module, choose M here: the module
67 will be called huawei-wmi.
68
69 config UV_SYSFS
70 tristate "Sysfs structure for UV systems"
71 depends on X86_UV
72 depends on SYSFS
73 help
74 This driver supports a sysfs tree describing information about
75 UV systems at /sys/firmware/sgi_uv/.
76
77 To compile this driver as a module, choose M here: the module will
78 be called uv_sysfs.
79
80 config MXM_WMI
81 tristate "WMI support for MXM Laptop Graphics"
82 depends on ACPI_WMI
83 help
84 MXM is a standard for laptop graphics cards, the WMI interface
85 is required for switchable nvidia graphics machines
86
87 config PEAQ_WMI
88 tristate "PEAQ 2-in-1 WMI hotkey driver"
89 depends on ACPI_WMI
90 depends on INPUT
91 help
92 Say Y here if you want to support WMI-based hotkeys on PEAQ 2-in-1s.
93
94 config NVIDIA_WMI_EC_BACKLIGHT
95 tristate "EC Backlight Driver for Hybrid Graphics Notebook Systems"
96 depends on ACPI_WMI
97 depends on BACKLIGHT_CLASS_DEVICE
98 help
99 This driver provides a sysfs backlight interface for notebook systems
100 which are equipped with NVIDIA hybrid graphics and drive LCD backlight
101 levels through the Embedded Controller (EC).
102
103 Say Y or M here if you want to control the backlight on a notebook
104 system with an EC-driven backlight.
105
106 If you choose to compile this driver as a module the module will be
107 called nvidia-wmi-ec-backlight.
108
109 config XIAOMI_WMI
110 tristate "Xiaomi WMI key driver"
111 depends on ACPI_WMI
112 depends on INPUT
113 help
114 Say Y here if you want to support WMI-based keys on Xiaomi notebooks.
115
116 To compile this driver as a module, choose M here: the module will
117 be called xiaomi-wmi.
118
119 config GIGABYTE_WMI
120 tristate "Gigabyte WMI temperature driver"
121 depends on ACPI_WMI
122 depends on HWMON
123 help
124 Say Y here if you want to support WMI-based temperature reporting on
125 Gigabyte mainboards.
126
127 To compile this driver as a module, choose M here: the module will
128 be called gigabyte-wmi.
129
130 config ACERHDF
131 tristate "Acer Aspire One temperature and fan driver"
132 depends on ACPI && THERMAL
133 select THERMAL_GOV_BANG_BANG
134 help
135 This is a driver for Acer Aspire One netbooks. It allows to access
136 the temperature sensor and to control the fan.
137
138 After loading this driver the BIOS is still in control of the fan.
139 To let the kernel handle the fan, do:
140 echo -n enabled > /sys/class/thermal/thermal_zoneN/mode
141 where N=0,1,2... depending on the number of thermal nodes and the
142 detection order of your particular system. The "type" parameter
143 in the same node directory will tell you if it is "acerhdf".
144
145 For more information about this driver see
146 <https://piie.net/files/acerhdf_README.txt>
147
148 If you have an Acer Aspire One netbook, say Y or M
149 here.
150
151 config ACER_WIRELESS
152 tristate "Acer Wireless Radio Control Driver"
153 depends on ACPI
154 depends on INPUT
155 help
156 The Acer Wireless Radio Control handles the airplane mode hotkey
157 present on new Acer laptops.
158
159 Say Y or M here if you have an Acer notebook with an airplane mode
160 hotkey.
161
162 If you choose to compile this driver as a module the module will be
163 called acer-wireless.
164
165 config ACER_WMI
166 tristate "Acer WMI Laptop Extras"
167 depends on ACPI
168 select LEDS_CLASS
169 select NEW_LEDS
170 depends on BACKLIGHT_CLASS_DEVICE
171 depends on SERIO_I8042
172 depends on INPUT
173 depends on RFKILL || RFKILL = n
174 depends on ACPI_WMI
175 select INPUT_SPARSEKMAP
176 # Acer WMI depends on ACPI_VIDEO when ACPI is enabled
177 select ACPI_VIDEO if ACPI
178 help
179 This is a driver for newer Acer (and Wistron) laptops. It adds
180 wireless radio and bluetooth control, and on some laptops,
181 exposes the mail LED and LCD backlight.
182
183 If you have an ACPI-WMI compatible Acer/ Wistron laptop, say Y or M
184 here.
185
186 config AMD_PMC
187 tristate "AMD SoC PMC driver"
188 depends on ACPI && PCI
189 help
190 The driver provides support for AMD Power Management Controller
191 primarily responsible for S2Idle transactions that are driven from
192 a platform firmware running on SMU. This driver also provides a debug
193 mechanism to investigate the S2Idle transactions and failures.
194
195 Say Y or M here if you have a notebook powered by AMD RYZEN CPU/APU.
196
197 If you choose to compile this driver as a module the module will be
198 called amd-pmc.
199
200 config ADV_SWBUTTON
201 tristate "Advantech ACPI Software Button Driver"
202 depends on ACPI && INPUT
203 help
204 Say Y here to enable support for Advantech software defined
205 button feature. More information can be found at
206 <http://www.advantech.com.tw/products/>
207
208 To compile this driver as a module, choose M here. The module will
209 be called adv_swbutton.
210
211 config APPLE_GMUX
212 tristate "Apple Gmux Driver"
213 depends on ACPI && PCI
214 depends on PNP
215 depends on BACKLIGHT_CLASS_DEVICE
216 depends on BACKLIGHT_APPLE=n || BACKLIGHT_APPLE
217 depends on ACPI_VIDEO=n || ACPI_VIDEO
218 help
219 This driver provides support for the gmux device found on many
220 Apple laptops, which controls the display mux for the hybrid
221 graphics as well as the backlight. Currently only backlight
222 control is supported by the driver.
223
224 config ASUS_LAPTOP
225 tristate "Asus Laptop Extras"
226 depends on ACPI
227 select LEDS_CLASS
228 select NEW_LEDS
229 depends on BACKLIGHT_CLASS_DEVICE
230 depends on INPUT
231 depends on RFKILL || RFKILL = n
232 depends on ACPI_VIDEO || ACPI_VIDEO = n
233 select INPUT_SPARSEKMAP
234 help
235 This is a driver for Asus laptops, Lenovo SL and the Pegatron
236 Lucid tablet. It may also support some MEDION, JVC or VICTOR
237 laptops. It makes all the extra buttons generate standard
238 ACPI events and input events, and on the Lucid the built-in
239 accelerometer appears as an input device. It also adds
240 support for video output switching, LCD backlight control,
241 Bluetooth and Wlan control, and most importantly, allows you
242 to blink those fancy LEDs.
243
244 For more information see <http://acpi4asus.sf.net>.
245
246 If you have an ACPI-compatible ASUS laptop, say Y or M here.
247
248 config ASUS_WIRELESS
249 tristate "Asus Wireless Radio Control Driver"
250 depends on ACPI
251 depends on INPUT
252 select NEW_LEDS
253 select LEDS_CLASS
254 help
255 The Asus Wireless Radio Control handles the airplane mode hotkey
256 present on some Asus laptops.
257
258 Say Y or M here if you have an ASUS notebook with an airplane mode
259 hotkey.
260
261 If you choose to compile this driver as a module the module will be
262 called asus-wireless.
263
264 config ASUS_WMI
265 tristate "ASUS WMI Driver"
266 depends on ACPI_WMI
267 depends on ACPI_BATTERY
268 depends on INPUT
269 depends on HWMON
270 depends on BACKLIGHT_CLASS_DEVICE
271 depends on RFKILL || RFKILL = n
272 depends on HOTPLUG_PCI
273 depends on ACPI_VIDEO || ACPI_VIDEO = n
274 select INPUT_SPARSEKMAP
275 select LEDS_CLASS
276 select NEW_LEDS
277 select ACPI_PLATFORM_PROFILE
278 help
279 Say Y here if you have a WMI aware Asus laptop (like Eee PCs or new
280 Asus Notebooks).
281
282 To compile this driver as a module, choose M here: the module will
283 be called asus-wmi.
284
285 config ASUS_NB_WMI
286 tristate "Asus Notebook WMI Driver"
287 depends on ASUS_WMI
288 depends on SERIO_I8042 || SERIO_I8042 = n
289 help
290 This is a driver for newer Asus notebooks. It adds extra features
291 like wireless radio and bluetooth control, leds, hotkeys, backlight...
292
293 For more information, see
294 <file:Documentation/ABI/testing/sysfs-platform-asus-wmi>
295
296 If you have an ACPI-WMI compatible Asus Notebook, say Y or M
297 here.
298
299 config MERAKI_MX100
300 tristate "Cisco Meraki MX100 Platform Driver"
301 depends on GPIOLIB
302 depends on GPIO_ICH
303 depends on LEDS_CLASS
304 select LEDS_GPIO
305 help
306 This driver provides support for the front button and LEDs on
307 the Cisco Meraki MX100 (Tinkerbell) 1U appliance.
308
309 To compile this driver as a module, choose M here: the module
310 will be called meraki-mx100.
311
312 config EEEPC_LAPTOP
313 tristate "Eee PC Hotkey Driver"
314 depends on ACPI
315 depends on INPUT
316 depends on RFKILL || RFKILL = n
317 depends on ACPI_VIDEO || ACPI_VIDEO = n
318 depends on HOTPLUG_PCI
319 depends on BACKLIGHT_CLASS_DEVICE
320 select HWMON
321 select LEDS_CLASS
322 select NEW_LEDS
323 select INPUT_SPARSEKMAP
324 help
325 This driver supports the Fn-Fx keys on Eee PC laptops.
326
327 It also gives access to some extra laptop functionalities like
328 Bluetooth, backlight and allows powering on/off some other
329 devices.
330
331 If you have an Eee PC laptop, say Y or M here. If this driver
332 doesn't work on your Eee PC, try eeepc-wmi instead.
333
334 config EEEPC_WMI
335 tristate "Eee PC WMI Driver"
336 depends on ASUS_WMI
337 help
338 This is a driver for newer Eee PC laptops. It adds extra features
339 like wireless radio and bluetooth control, leds, hotkeys, backlight...
340
341 For more information, see
342 <file:Documentation/ABI/testing/sysfs-platform-asus-wmi>
343
344 If you have an ACPI-WMI compatible Eee PC laptop (>= 1000), say Y or M
345 here.
346
347 source "drivers/platform/x86/dell/Kconfig"
348
349 config AMILO_RFKILL
350 tristate "Fujitsu-Siemens Amilo rfkill support"
351 depends on RFKILL
352 depends on SERIO_I8042
353 help
354 This is a driver for enabling wifi on some Fujitsu-Siemens Amilo
355 laptops.
356
357 config DELL_UART_BACKLIGHT
358 tristate "Dell AIO UART Backlight driver"
359 depends on SERIAL_8250
360 depends on ACPI
361 help
362 Say Y here if you want to support Dell AIO UART backlight interface.
363 The Dell AIO machines released after 2017 come with a UART interface
364 to communicate with the backlight scalar board. This driver creates
365 a standard backlight interface and talks to the scalar board through
366 UART to adjust the AIO screen brightness.
367
368 To compile this driver as a module, choose M here: the module will
369 be called dell_uart_backlight.
370
371 config FUJITSU_LAPTOP
372 tristate "Fujitsu Laptop Extras"
373 depends on ACPI
374 depends on INPUT
375 depends on BACKLIGHT_CLASS_DEVICE
376 depends on ACPI_VIDEO || ACPI_VIDEO = n
377 select INPUT_SPARSEKMAP
378 select NEW_LEDS
379 select LEDS_CLASS
380 help
381 This is a driver for laptops built by Fujitsu:
382
383 * P2xxx/P5xxx/S6xxx/S7xxx series Lifebooks
384 * Possibly other Fujitsu laptop models
385 * Tested with S6410 and S7020
386
387 It adds support for LCD brightness control and some hotkeys.
388
389 If you have a Fujitsu laptop, say Y or M here.
390
391 config FUJITSU_TABLET
392 tristate "Fujitsu Tablet Extras"
393 depends on ACPI
394 depends on INPUT
395 help
396 This is a driver for tablets built by Fujitsu:
397
398 * Lifebook P1510/P1610/P1620/Txxxx
399 * Stylistic ST5xxx
400 * Possibly other Fujitsu tablet models
401
402 It adds support for the panel buttons, docking station detection,
403 tablet/notebook mode detection for convertible and
404 orientation detection for docked slates.
405
406 If you have a Fujitsu convertible or slate, say Y or M here.
407
408 config GPD_POCKET_FAN
409 tristate "GPD Pocket Fan Controller support"
410 depends on ACPI
411 depends on THERMAL
412 help
413 Driver for the GPD Pocket vendor specific FAN02501 ACPI device
414 which controls the fan speed on the GPD Pocket.
415
416 Without this driver the fan on the Pocket will stay off independent
417 of the CPU temperature. Say Y or M if the kernel may be used on a
418 GPD pocket.
419
420 config HP_ACCEL
421 tristate "HP laptop accelerometer"
422 depends on INPUT && ACPI
423 depends on SERIO_I8042
424 select SENSORS_LIS3LV02D
425 select NEW_LEDS
426 select LEDS_CLASS
427 help
428 This driver provides support for the "Mobile Data Protection System 3D"
429 or "3D DriveGuard" feature of HP laptops. On such systems the driver
430 should load automatically (via ACPI alias).
431
432 Support for a led indicating disk protection will be provided as
433 hp::hddprotect. For more information on the feature, refer to
434 Documentation/misc-devices/lis3lv02d.rst.
435
436 To compile this driver as a module, choose M here: the module will
437 be called hp_accel.
438
439 config WIRELESS_HOTKEY
440 tristate "Wireless hotkey button"
441 depends on ACPI
442 depends on INPUT
443 help
444 This driver provides supports for the wireless buttons found on some AMD,
445 HP, & Xioami laptops.
446 On such systems the driver should load automatically (via ACPI alias).
447
448 To compile this driver as a module, choose M here: the module will
449 be called wireless-hotkey.
450
451 config HP_WMI
452 tristate "HP WMI extras"
453 depends on ACPI_WMI
454 depends on INPUT
455 depends on RFKILL || RFKILL = n
456 select INPUT_SPARSEKMAP
457 select ACPI_PLATFORM_PROFILE
458 help
459 Say Y here if you want to support WMI-based hotkeys on HP laptops and
460 to read data from WMI such as docking or ambient light sensor state.
461
462 To compile this driver as a module, choose M here: the module will
463 be called hp-wmi.
464
465 config TC1100_WMI
466 tristate "HP Compaq TC1100 Tablet WMI Extras"
467 depends on !X86_64
468 depends on ACPI
469 depends on ACPI_WMI
470 help
471 This is a driver for the WMI extensions (wireless and bluetooth power
472 control) of the HP Compaq TC1100 tablet.
473
474 config IBM_RTL
475 tristate "Device driver to enable PRTL support"
476 depends on PCI
477 help
478 Enable support for IBM Premium Real Time Mode (PRTM).
479 This module will allow you the enter and exit PRTM in the BIOS via
480 sysfs on platforms that support this feature. System in PRTM will
481 not receive CPU-generated SMIs for recoverable errors. Use of this
482 feature without proper support may void your hardware warranty.
483
484 If the proper BIOS support is found the driver will load and create
485 /sys/devices/system/ibm_rtl/. The "state" variable will indicate
486 whether or not the BIOS is in PRTM.
487 state = 0 (BIOS SMIs on)
488 state = 1 (BIOS SMIs off)
489
490 config IDEAPAD_LAPTOP
491 tristate "Lenovo IdeaPad Laptop Extras"
492 depends on ACPI
493 depends on RFKILL && INPUT
494 depends on SERIO_I8042
495 depends on BACKLIGHT_CLASS_DEVICE
496 depends on ACPI_VIDEO || ACPI_VIDEO = n
497 depends on ACPI_WMI || ACPI_WMI = n
498 select ACPI_PLATFORM_PROFILE
499 select INPUT_SPARSEKMAP
500 select NEW_LEDS
501 select LEDS_CLASS
502 help
503 This is a driver for Lenovo IdeaPad netbooks contains drivers for
504 rfkill switch, hotkey, fan control and backlight control.
505
506 config SENSORS_HDAPS
507 tristate "Thinkpad Hard Drive Active Protection System (hdaps)"
508 depends on INPUT
509 help
510 This driver provides support for the IBM Hard Drive Active Protection
511 System (hdaps), which provides an accelerometer and other misc. data.
512 ThinkPads starting with the R50, T41, and X40 are supported. The
513 accelerometer data is readable via sysfs.
514
515 This driver also provides an absolute input class device, allowing
516 the laptop to act as a pinball machine-esque joystick.
517
518 If your ThinkPad is not recognized by the driver, please update to latest
519 BIOS. This is especially the case for some R52 ThinkPads.
520
521 Say Y here if you have an applicable laptop and want to experience
522 the awesome power of hdaps.
523
524 config THINKPAD_ACPI
525 tristate "ThinkPad ACPI Laptop Extras"
526 depends on ACPI
527 depends on ACPI_BATTERY
528 depends on INPUT
529 depends on RFKILL || RFKILL = n
530 depends on ACPI_VIDEO || ACPI_VIDEO = n
531 depends on BACKLIGHT_CLASS_DEVICE
532 depends on I2C
533 select ACPI_PLATFORM_PROFILE
534 select HWMON
535 select NVRAM
536 select NEW_LEDS
537 select LEDS_CLASS
538 select LEDS_TRIGGERS
539 select LEDS_TRIGGER_AUDIO
540 help
541 This is a driver for the IBM and Lenovo ThinkPad laptops. It adds
542 support for Fn-Fx key combinations, Bluetooth control, video
543 output switching, ThinkLight control, UltraBay eject and more.
544 For more information about this driver see
545 <file:Documentation/admin-guide/laptops/thinkpad-acpi.rst> and
546 <http://ibm-acpi.sf.net/> .
547
548 This driver was formerly known as ibm-acpi.
549
550 Extra functionality will be available if the rfkill (CONFIG_RFKILL)
551 and/or ALSA (CONFIG_SND) subsystems are available in the kernel.
552 Note that if you want ThinkPad-ACPI to be built-in instead of
553 modular, ALSA and rfkill will also have to be built-in.
554
555 If you have an IBM or Lenovo ThinkPad laptop, say Y or M here.
556
557 config THINKPAD_ACPI_ALSA_SUPPORT
558 bool "Console audio control ALSA interface"
559 depends on THINKPAD_ACPI
560 depends on SND
561 depends on SND = y || THINKPAD_ACPI = SND
562 default y
563 help
564 Enables monitoring of the built-in console audio output control
565 (headphone and speakers), which is operated by the mute and (in
566 some ThinkPad models) volume hotkeys.
567
568 If this option is enabled, ThinkPad-ACPI will export an ALSA card
569 with a single read-only mixer control, which should be used for
570 on-screen-display feedback purposes by the Desktop Environment.
571
572 Optionally, the driver will also allow software control (the
573 ALSA mixer will be made read-write). Please refer to the driver
574 documentation for details.
575
576 All IBM models have both volume and mute control. Newer Lenovo
577 models only have mute control (the volume hotkeys are just normal
578 keys and volume control is done through the main HDA mixer).
579
580 config THINKPAD_ACPI_DEBUGFACILITIES
581 bool "Maintainer debug facilities"
582 depends on THINKPAD_ACPI
583 help
584 Enables extra stuff in the thinkpad-acpi which is completely useless
585 for normal use. Read the driver source to find out what it does.
586
587 Say N here, unless you were told by a kernel maintainer to do
588 otherwise.
589
590 config THINKPAD_ACPI_DEBUG
591 bool "Verbose debug mode"
592 depends on THINKPAD_ACPI
593 help
594 Enables extra debugging information, at the expense of a slightly
595 increase in driver size.
596
597 If you are not sure, say N here.
598
599 config THINKPAD_ACPI_UNSAFE_LEDS
600 bool "Allow control of important LEDs (unsafe)"
601 depends on THINKPAD_ACPI
602 help
603 Overriding LED state on ThinkPads can mask important
604 firmware alerts (like critical battery condition), or misled
605 the user into damaging the hardware (undocking or ejecting
606 the bay while buses are still active), etc.
607
608 LED control on the ThinkPad is write-only (with very few
609 exceptions on very ancient models), which makes it
610 impossible to know beforehand if important information will
611 be lost when one changes LED state.
612
613 Users that know what they are doing can enable this option
614 and the driver will allow control of every LED, including
615 the ones on the dock stations.
616
617 Never enable this option on a distribution kernel.
618
619 Say N here, unless you are building a kernel for your own
620 use, and need to control the important firmware LEDs.
621
622 config THINKPAD_ACPI_VIDEO
623 bool "Video output control support"
624 depends on THINKPAD_ACPI
625 default y
626 help
627 Allows the thinkpad_acpi driver to provide an interface to control
628 the various video output ports.
629
630 This feature often won't work well, depending on ThinkPad model,
631 display state, video output devices in use, whether there is a X
632 server running, phase of the moon, and the current mood of
633 Schroedinger's cat. If you can use X.org's RandR to control
634 your ThinkPad's video output ports instead of this feature,
635 don't think twice: do it and say N here to save memory and avoid
636 bad interactions with X.org.
637
638 NOTE: access to this feature is limited to processes with the
639 CAP_SYS_ADMIN capability, to avoid local DoS issues in platforms
640 where it interacts badly with X.org.
641
642 If you are not sure, say Y here but do try to check if you could
643 be using X.org RandR instead.
644
645 config THINKPAD_ACPI_HOTKEY_POLL
646 bool "Support NVRAM polling for hot keys"
647 depends on THINKPAD_ACPI
648 default y
649 help
650 Some thinkpad models benefit from NVRAM polling to detect a few of
651 the hot key press events. If you know your ThinkPad model does not
652 need to do NVRAM polling to support any of the hot keys you use,
653 unselecting this option will save about 1kB of memory.
654
655 ThinkPads T40 and newer, R52 and newer, and X31 and newer are
656 unlikely to need NVRAM polling in their latest BIOS versions.
657
658 NVRAM polling can detect at most the following keys: ThinkPad/Access
659 IBM, Zoom, Switch Display (fn+F7), ThinkLight, Volume up/down/mute,
660 Brightness up/down, Display Expand (fn+F8), Hibernate (fn+F12).
661
662 If you are not sure, say Y here. The driver enables polling only if
663 it is strictly necessary to do so.
664
665 config THINKPAD_LMI
666 tristate "Lenovo WMI-based systems management driver"
667 depends on ACPI_WMI
668 select FW_ATTR_CLASS
669 help
670 This driver allows changing BIOS settings on Lenovo machines whose
671 BIOS support the WMI interface.
672
673 To compile this driver as a module, choose M here: the module will
674 be called think-lmi.
675
676 source "drivers/platform/x86/intel/Kconfig"
677
678 config MSI_LAPTOP
679 tristate "MSI Laptop Extras"
680 depends on ACPI
681 depends on BACKLIGHT_CLASS_DEVICE
682 depends on ACPI_VIDEO || ACPI_VIDEO = n
683 depends on RFKILL
684 depends on INPUT && SERIO_I8042
685 select INPUT_SPARSEKMAP
686 help
687 This is a driver for laptops built by MSI (MICRO-STAR
688 INTERNATIONAL):
689
690 MSI MegaBook S270 (MS-1013)
691 Cytron/TCM/Medion/Tchibo MD96100/SAM2000
692
693 It adds support for Bluetooth, WLAN and LCD brightness control.
694
695 More information about this driver is available at
696 <http://0pointer.de/lennart/tchibo.html>.
697
698 If you have an MSI S270 laptop, say Y or M here.
699
700 config MSI_WMI
701 tristate "MSI WMI extras"
702 depends on ACPI_WMI
703 depends on INPUT
704 depends on BACKLIGHT_CLASS_DEVICE
705 depends on ACPI_VIDEO || ACPI_VIDEO = n
706 select INPUT_SPARSEKMAP
707 help
708 Say Y here if you want to support WMI-based hotkeys on MSI laptops.
709
710 To compile this driver as a module, choose M here: the module will
711 be called msi-wmi.
712
713 config XO15_EBOOK
714 tristate "OLPC XO-1.5 ebook switch"
715 depends on OLPC || COMPILE_TEST
716 depends on ACPI && INPUT
717 help
718 Support for the ebook switch on the OLPC XO-1.5 laptop.
719
720 This switch is triggered as the screen is rotated and folded down to
721 convert the device into ebook form.
722
723 config XO1_RFKILL
724 tristate "OLPC XO-1 software RF kill switch"
725 depends on OLPC || COMPILE_TEST
726 depends on RFKILL
727 help
728 Support for enabling/disabling the WLAN interface on the OLPC XO-1
729 laptop.
730
731 config PCENGINES_APU2
732 tristate "PC Engines APUv2/3 front button and LEDs driver"
733 depends on INPUT && INPUT_KEYBOARD && GPIOLIB
734 depends on LEDS_CLASS
735 select GPIO_AMD_FCH
736 select KEYBOARD_GPIO_POLLED
737 select LEDS_GPIO
738 help
739 This driver provides support for the front button and LEDs on
740 PC Engines APUv2/APUv3 board.
741
742 To compile this driver as a module, choose M here: the module
743 will be called pcengines-apuv2.
744
745 config SAMSUNG_LAPTOP
746 tristate "Samsung Laptop driver"
747 depends on RFKILL || RFKILL = n
748 depends on ACPI_VIDEO || ACPI_VIDEO = n
749 depends on BACKLIGHT_CLASS_DEVICE
750 select LEDS_CLASS
751 select NEW_LEDS
752 help
753 This module implements a driver for a wide range of different
754 Samsung laptops. It offers control over the different
755 function keys, wireless LED, LCD backlight level.
756
757 It may also provide some sysfs files described in
758 <file:Documentation/ABI/testing/sysfs-driver-samsung-laptop>
759
760 To compile this driver as a module, choose M here: the module
761 will be called samsung-laptop.
762
763 config SAMSUNG_Q10
764 tristate "Samsung Q10 Extras"
765 depends on ACPI
766 select BACKLIGHT_CLASS_DEVICE
767 help
768 This driver provides support for backlight control on Samsung Q10
769 and related laptops, including Dell Latitude X200.
770
771 config ACPI_TOSHIBA
772 tristate "Toshiba Laptop Extras"
773 depends on ACPI
774 depends on ACPI_WMI
775 select LEDS_CLASS
776 select NEW_LEDS
777 depends on BACKLIGHT_CLASS_DEVICE
778 depends on INPUT
779 depends on SERIO_I8042 || SERIO_I8042 = n
780 depends on ACPI_VIDEO || ACPI_VIDEO = n
781 depends on RFKILL || RFKILL = n
782 depends on IIO
783 select INPUT_SPARSEKMAP
784 help
785 This driver adds support for access to certain system settings
786 on "legacy free" Toshiba laptops. These laptops can be recognized by
787 their lack of a BIOS setup menu and APM support.
788
789 On these machines, all system configuration is handled through the
790 ACPI. This driver is required for access to controls not covered
791 by the general ACPI drivers, such as LCD brightness, video output,
792 etc.
793
794 This driver differs from the non-ACPI Toshiba laptop driver (located
795 under "Processor type and features") in several aspects.
796 Configuration is accessed by reading and writing text files in the
797 /proc tree instead of by program interface to /dev. Furthermore, no
798 power management functions are exposed, as those are handled by the
799 general ACPI drivers.
800
801 More information about this driver is available at
802 <http://memebeam.org/toys/ToshibaAcpiDriver>.
803
804 If you have a legacy free Toshiba laptop (such as the Libretto L1
805 series), say Y.
806
807 config TOSHIBA_BT_RFKILL
808 tristate "Toshiba Bluetooth RFKill switch support"
809 depends on ACPI
810 depends on RFKILL || RFKILL = n
811 help
812 This driver adds support for Bluetooth events for the RFKill
813 switch on modern Toshiba laptops with full ACPI support and
814 an RFKill switch.
815
816 This driver handles RFKill events for the TOS6205 Bluetooth,
817 and re-enables it when the switch is set back to the 'on'
818 position.
819
820 If you have a modern Toshiba laptop with a Bluetooth and an
821 RFKill switch (such as the Portege R500), say Y.
822
823 config TOSHIBA_HAPS
824 tristate "Toshiba HDD Active Protection Sensor"
825 depends on ACPI
826 help
827 This driver adds support for the built-in accelerometer
828 found on recent Toshiba laptops equipped with HID TOS620A
829 device.
830
831 This driver receives ACPI notify events 0x80 when the sensor
832 detects a sudden move or a harsh vibration, as well as an
833 ACPI notify event 0x81 whenever the movement or vibration has
834 been stabilized.
835
836 Also provides sysfs entries to get/set the desired protection
837 level and resetting the HDD protection interface.
838
839 If you have a recent Toshiba laptop with a built-in accelerometer
840 device, say Y.
841
842 config TOSHIBA_WMI
843 tristate "Toshiba WMI Hotkeys Driver (EXPERIMENTAL)"
844 depends on ACPI_WMI
845 depends on INPUT
846 select INPUT_SPARSEKMAP
847 help
848 This driver adds hotkey monitoring support to some Toshiba models
849 that manage the hotkeys via WMI events.
850
851 WARNING: This driver is incomplete as it lacks a proper keymap and the
852 *notify function only prints the ACPI event type value. Be warned that
853 you will need to provide some information if you have a Toshiba model
854 with WMI event hotkeys and want to help with the development of this
855 driver.
856
857 If you have a WMI-based hotkeys Toshiba laptop, say Y or M here.
858
859 config ACPI_CMPC
860 tristate "CMPC Laptop Extras"
861 depends on ACPI && INPUT
862 depends on RFKILL || RFKILL=n
863 select BACKLIGHT_CLASS_DEVICE
864 help
865 Support for Intel Classmate PC ACPI devices, including some
866 keys as input device, backlight device, tablet and accelerometer
867 devices.
868
869 config COMPAL_LAPTOP
870 tristate "Compal (and others) Laptop Extras"
871 depends on ACPI
872 depends on BACKLIGHT_CLASS_DEVICE
873 depends on ACPI_VIDEO || ACPI_VIDEO = n
874 depends on RFKILL
875 depends on HWMON
876 depends on POWER_SUPPLY
877 help
878 This is a driver for laptops built by Compal, and some models by
879 other brands (e.g. Dell, Toshiba).
880
881 It adds support for rfkill, Bluetooth, WLAN, LCD brightness, hwmon
882 and battery charging level control.
883
884 config LG_LAPTOP
885 tristate "LG Laptop Extras"
886 depends on ACPI
887 depends on ACPI_WMI
888 depends on INPUT
889 select INPUT_SPARSEKMAP
890 select NEW_LEDS
891 select LEDS_CLASS
892 help
893 This driver adds support for hotkeys as well as control of keyboard
894 backlight, battery maximum charge level and various other ACPI
895 features.
896
897 If you have an LG Gram laptop, say Y or M here.
898
899 config PANASONIC_LAPTOP
900 tristate "Panasonic Laptop Extras"
901 depends on INPUT && ACPI
902 depends on BACKLIGHT_CLASS_DEVICE
903 depends on ACPI_VIDEO=n || ACPI_VIDEO
904 select INPUT_SPARSEKMAP
905 help
906 This driver adds support for access to backlight control and hotkeys
907 on Panasonic Let's Note laptops.
908
909 If you have a Panasonic Let's note laptop (such as the R1(N variant),
910 R2, R3, R5, T2, W2 and Y2 series), say Y.
911
912 config SONY_LAPTOP
913 tristate "Sony Laptop Extras"
914 depends on ACPI
915 depends on ACPI_VIDEO || ACPI_VIDEO = n
916 depends on BACKLIGHT_CLASS_DEVICE
917 depends on INPUT
918 depends on RFKILL
919 help
920 This mini-driver drives the SNC and SPIC devices present in the ACPI
921 BIOS of the Sony Vaio laptops.
922
923 It gives access to some extra laptop functionalities like Bluetooth,
924 screen brightness control, Fn keys and allows powering on/off some
925 devices.
926
927 Read <file:Documentation/admin-guide/laptops/sony-laptop.rst> for more information.
928
929 config SONYPI_COMPAT
930 bool "Sonypi compatibility"
931 depends on SONY_LAPTOP
932 help
933 Build the sonypi driver compatibility code into the sony-laptop driver.
934
935 config SYSTEM76_ACPI
936 tristate "System76 ACPI Driver"
937 depends on ACPI
938 select NEW_LEDS
939 select LEDS_CLASS
940 select LEDS_TRIGGERS
941 help
942 This is a driver for System76 laptops running open firmware. It adds
943 support for Fn-Fx key combinations, keyboard backlight, and airplane mode
944 LEDs.
945
946 If you have a System76 laptop running open firmware, say Y or M here.
947
948 config TOPSTAR_LAPTOP
949 tristate "Topstar Laptop Extras"
950 depends on ACPI
951 depends on INPUT
952 select INPUT_SPARSEKMAP
953 select LEDS_CLASS
954 select NEW_LEDS
955 help
956 This driver adds support for hotkeys found on Topstar laptops.
957
958 If you have a Topstar laptop, say Y or M here.
959
960 config SERIAL_MULTI_INSTANTIATE
961 tristate "Serial bus multi instantiate pseudo device driver"
962 depends on I2C && SPI && ACPI
963 help
964 Some ACPI-based systems list multiple devices in a single ACPI
965 firmware-node. This driver will instantiate separate clients
966 for each device in the firmware-node.
967
968 To compile this driver as a module, choose M here: the module
969 will be called serial-multi-instantiate.
970
971 config MLX_PLATFORM
972 tristate "Mellanox Technologies platform support"
973 depends on I2C && REGMAP
974 help
975 This option enables system support for the Mellanox Technologies
976 platform. The Mellanox systems provide data center networking
977 solutions based on Virtual Protocol Interconnect (VPI) technology
978 enable seamless connectivity to 56/100Gb/s InfiniBand or 10/40/56GbE
979 connection.
980
981 If you have a Mellanox system, say Y or M here.
982
983 config TOUCHSCREEN_DMI
984 bool "DMI based touchscreen configuration info"
985 depends on ACPI && DMI && I2C=y && TOUCHSCREEN_SILEAD
986 select EFI_EMBEDDED_FIRMWARE if EFI
987 help
988 Certain ACPI based tablets with e.g. Silead or Chipone touchscreens
989 do not have enough data in ACPI tables for the touchscreen driver to
990 handle the touchscreen properly, as OEMs expect the data to be baked
991 into the tablet model specific version of the driver shipped with the
992 the OS-image for the device. This option supplies the missing info.
993 Enable this for x86 tablets with Silead or Chipone touchscreens.
994
995 config FW_ATTR_CLASS
996 tristate
997
998 config INTEL_IMR
999 bool "Intel Isolated Memory Region support"
1000 depends on X86_INTEL_QUARK && IOSF_MBI
1001 help
1002 This option provides a means to manipulate Isolated Memory Regions.
1003 IMRs are a set of registers that define read and write access masks
1004 to prohibit certain system agents from accessing memory with 1 KiB
1005 granularity.
1006
1007 IMRs make it possible to control read/write access to an address
1008 by hardware agents inside the SoC. Read and write masks can be
1009 defined for:
1010 - eSRAM flush
1011 - Dirty CPU snoop (write only)
1012 - RMU access
1013 - PCI Virtual Channel 0/Virtual Channel 1
1014 - SMM mode
1015 - Non SMM mode
1016
1017 Quark contains a set of eight IMR registers and makes use of those
1018 registers during its bootup process.
1019
1020 If you are running on a Galileo/Quark say Y here.
1021
1022 config INTEL_IPS
1023 tristate "Intel Intelligent Power Sharing"
1024 depends on ACPI && PCI
1025 help
1026 Intel Calpella platforms support dynamic power sharing between the
1027 CPU and GPU, maximizing performance in a given TDP. This driver,
1028 along with the CPU frequency and i915 drivers, provides that
1029 functionality. If in doubt, say Y here; it will only load on
1030 supported platforms.
1031
1032 config INTEL_SCU_IPC
1033 bool
1034
1035 config INTEL_SCU
1036 bool
1037 select INTEL_SCU_IPC
1038
1039 config INTEL_SCU_PCI
1040 bool "Intel SCU PCI driver"
1041 depends on PCI
1042 select INTEL_SCU
1043 help
1044 This driver is used to bridge the communications between kernel
1045 and SCU on some embedded Intel x86 platforms. It also creates
1046 devices that are connected to the SoC through the SCU.
1047 Platforms supported:
1048 Medfield
1049 Clovertrail
1050 Merrifield
1051 Broxton
1052 Apollo Lake
1053
1054 config INTEL_SCU_PLATFORM
1055 tristate "Intel SCU platform driver"
1056 depends on ACPI
1057 select INTEL_SCU
1058 help
1059 This driver is used to bridge the communications between kernel
1060 and SCU (sometimes called PMC as well). The driver currently
1061 supports Intel Elkhart Lake and compatible platforms.
1062
1063 config INTEL_SCU_WDT
1064 bool
1065 default INTEL_SCU_PCI
1066 depends on INTEL_MID_WATCHDOG
1067 help
1068 This is a specific platform code to instantiate watchdog device
1069 on ACPI-based Intel MID platforms.
1070
1071 config INTEL_SCU_IPC_UTIL
1072 tristate "Intel SCU IPC utility driver"
1073 depends on INTEL_SCU
1074 help
1075 The IPC Util driver provides an interface with the SCU enabling
1076 low level access for debug work and updating the firmware. Say
1077 N unless you will be doing this on an Intel MID platform.
1078
1079 endif # X86_PLATFORM_DEVICES
1080
1081 config PMC_ATOM
1082 def_bool y
1083 depends on PCI
1084 select COMMON_CLK