xref: /linux/drivers/platform/x86/Kconfig (revision 6ba3bb334835eeca7e2bd2db4c9dbb0343ebff4f)
1# SPDX-License-Identifier: GPL-2.0-only
2#
3# X86 Platform Specific Drivers
4#
5
6menuconfig 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
17if X86_PLATFORM_DEVICES
18
19config 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
40config ACPI_WMI_LEGACY_DEVICE_NAMES
41	bool "Use legacy WMI device naming scheme"
42	depends on ACPI_WMI
43	help
44	  Say Y here to force the WMI driver core to use the old WMI device naming
45	  scheme when creating WMI devices. Doing so might be necessary for some
46	  userspace applications but will cause the registration of WMI devices with
47	  the same GUID to fail in some corner cases.
48
49config WMI_BMOF
50	tristate "WMI embedded Binary MOF driver"
51	depends on ACPI_WMI
52	default ACPI_WMI
53	help
54	  Say Y here if you want to be able to read a firmware-embedded
55	  WMI Binary MOF (Managed Object Format) data. Using this requires
56	  userspace tools and may be rather tedious.
57
58	  To compile this driver as a module, choose M here: the module will
59	  be called wmi-bmof.
60
61config HUAWEI_WMI
62	tristate "Huawei WMI laptop extras driver"
63	depends on ACPI_BATTERY
64	depends on ACPI_EC
65	depends on ACPI_WMI
66	depends on INPUT
67	select INPUT_SPARSEKMAP
68	select LEDS_CLASS
69	select NEW_LEDS
70	help
71	  This driver provides support for Huawei WMI hotkeys, battery charge
72	  control, fn-lock, mic-mute LED, and other extra features.
73
74	  To compile this driver as a module, choose M here: the module
75	  will be called huawei-wmi.
76
77config UV_SYSFS
78	tristate "Sysfs structure for UV systems"
79	depends on X86_UV
80	depends on SYSFS
81	help
82	  This driver supports a sysfs tree describing information about
83	  UV systems at /sys/firmware/sgi_uv/.
84
85	  To compile this driver as a module, choose M here: the module will
86	  be called uv_sysfs.
87
88config MXM_WMI
89       tristate "WMI support for MXM Laptop Graphics"
90       depends on ACPI_WMI
91	help
92          MXM is a standard for laptop graphics cards, the WMI interface
93	  is required for switchable nvidia graphics machines
94
95config NVIDIA_WMI_EC_BACKLIGHT
96	tristate "EC Backlight Driver for Hybrid Graphics Notebook Systems"
97	depends on ACPI_VIDEO
98	depends on ACPI_WMI
99	depends on BACKLIGHT_CLASS_DEVICE
100	help
101	  This driver provides a sysfs backlight interface for notebook systems
102	  which are equipped with NVIDIA hybrid graphics and drive LCD backlight
103	  levels through the Embedded Controller (EC).
104
105	  Say Y or M here if you want to control the backlight on a notebook
106	  system with an EC-driven backlight.
107
108	  If you choose to compile this driver as a module the module will be
109	  called nvidia-wmi-ec-backlight.
110
111config XIAOMI_WMI
112	tristate "Xiaomi WMI key driver"
113	depends on ACPI_WMI
114	depends on INPUT
115	help
116	  Say Y here if you want to support WMI-based keys on Xiaomi notebooks.
117
118	  To compile this driver as a module, choose M here: the module will
119	  be called xiaomi-wmi.
120
121config REDMI_WMI
122	tristate "Redmibook WMI key driver"
123	depends on ACPI_WMI
124	depends on INPUT
125	select INPUT_SPARSEKMAP
126	help
127	  Say Y here if you want support for WMI-based hotkey events on
128	  Xiaomi Redmibook devices.
129
130	  To compile this driver as a module, choose M here: the module will
131	  be called redmi-wmi.
132
133config GIGABYTE_WMI
134	tristate "Gigabyte WMI temperature driver"
135	depends on ACPI_WMI
136	depends on HWMON
137	help
138	  Say Y here if you want to support WMI-based temperature reporting on
139	  Gigabyte mainboards.
140
141	  To compile this driver as a module, choose M here: the module will
142	  be called gigabyte-wmi.
143
144config ACERHDF
145	tristate "Acer Aspire One temperature and fan driver"
146	depends on ACPI_EC && THERMAL
147	select THERMAL_GOV_BANG_BANG
148	help
149	  This is a driver for Acer Aspire One netbooks. It allows to access
150	  the temperature sensor and to control the fan.
151
152	  After loading this driver the BIOS is still in control of the fan.
153	  To let the kernel handle the fan, do:
154	  echo -n enabled > /sys/class/thermal/thermal_zoneN/mode
155	  where N=0,1,2... depending on the number of thermal nodes and the
156	  detection order of your particular system.  The "type" parameter
157	  in the same node directory will tell you if it is "acerhdf".
158
159	  For more information about this driver see
160	  <https://piie.net/files/acerhdf_README.txt>
161
162	  If you have an Acer Aspire One netbook, say Y or M
163	  here.
164
165config ACER_WIRELESS
166        tristate "Acer Wireless Radio Control Driver"
167        depends on ACPI
168        depends on INPUT
169	help
170          The Acer Wireless Radio Control handles the airplane mode hotkey
171          present on new Acer laptops.
172
173          Say Y or M here if you have an Acer notebook with an airplane mode
174          hotkey.
175
176          If you choose to compile this driver as a module the module will be
177          called acer-wireless.
178
179config ACER_WMI
180	tristate "Acer WMI Laptop Extras"
181	depends on BACKLIGHT_CLASS_DEVICE
182	depends on SERIO_I8042
183	depends on INPUT
184	depends on RFKILL || RFKILL = n
185	depends on ACPI_EC
186	depends on ACPI_WMI
187	depends on ACPI_VIDEO || ACPI_VIDEO = n
188	depends on HWMON
189	select INPUT_SPARSEKMAP
190	select LEDS_CLASS
191	select NEW_LEDS
192	select ACPI_PLATFORM_PROFILE
193	help
194	  This is a driver for newer Acer (and Wistron) laptops. It adds
195	  wireless radio and bluetooth control, and on some laptops,
196	  exposes the mail LED and LCD backlight.
197
198	  If you have an ACPI-WMI compatible Acer/ Wistron laptop, say Y or M
199	  here.
200
201source "drivers/platform/x86/amd/Kconfig"
202
203config ADV_SWBUTTON
204	tristate "Advantech ACPI Software Button Driver"
205	depends on ACPI && INPUT
206	help
207	  Say Y here to enable support for Advantech software defined
208	  button feature. More information can be found at
209	  <http://www.advantech.com.tw/products/>
210
211	  To compile this driver as a module, choose M here. The module will
212	  be called adv_swbutton.
213
214config APPLE_GMUX
215	tristate "Apple Gmux Driver"
216	depends on ACPI && PCI
217	depends on PNP
218	depends on BACKLIGHT_CLASS_DEVICE
219	help
220	  This driver provides support for the gmux device found on many
221	  Apple laptops, which controls the display mux for the hybrid
222	  graphics as well as the backlight. Currently only backlight
223	  control is supported by the driver.
224
225config ASUS_LAPTOP
226	tristate "Asus Laptop Extras"
227	depends on ACPI
228	select LEDS_CLASS
229	select NEW_LEDS
230	depends on BACKLIGHT_CLASS_DEVICE
231	depends on INPUT
232	depends on RFKILL || RFKILL = n
233	depends on ACPI_VIDEO || ACPI_VIDEO = n
234	select INPUT_SPARSEKMAP
235	help
236	  This is a driver for Asus laptops, Lenovo SL and the Pegatron
237	  Lucid tablet. It may also support some MEDION, JVC or VICTOR
238	  laptops. It makes all the extra buttons generate standard
239	  ACPI events and input events, and on the Lucid the built-in
240	  accelerometer appears as an input device.  It also adds
241	  support for video output switching, LCD backlight control,
242	  Bluetooth and Wlan control, and most importantly, allows you
243	  to blink those fancy LEDs.
244
245	  For more information see <http://acpi4asus.sf.net>.
246
247	  If you have an ACPI-compatible ASUS laptop, say Y or M here.
248
249config ASUS_WIRELESS
250	tristate "Asus Wireless Radio Control Driver"
251	depends on ACPI
252	depends on INPUT
253	select NEW_LEDS
254	select LEDS_CLASS
255	help
256	  The Asus Wireless Radio Control handles the airplane mode hotkey
257	  present on some Asus laptops.
258
259	  Say Y or M here if you have an ASUS notebook with an airplane mode
260	  hotkey.
261
262	  If you choose to compile this driver as a module the module will be
263	  called asus-wireless.
264
265config ASUS_WMI
266	tristate "ASUS WMI Driver"
267	depends on ACPI_WMI
268	depends on ACPI_BATTERY
269	depends on INPUT
270	depends on HWMON
271	depends on BACKLIGHT_CLASS_DEVICE
272	depends on RFKILL || RFKILL = n
273	depends on HOTPLUG_PCI
274	depends on ACPI_VIDEO || ACPI_VIDEO = n
275	depends on SERIO_I8042 || SERIO_I8042 = n
276	select INPUT_SPARSEKMAP
277	select LEDS_CLASS
278	select NEW_LEDS
279	select ACPI_PLATFORM_PROFILE
280	help
281	  Say Y here if you have a WMI aware Asus laptop (like Eee PCs or new
282	  Asus Notebooks).
283
284	  To compile this driver as a module, choose M here: the module will
285	  be called asus-wmi.
286
287config ASUS_NB_WMI
288	tristate "Asus Notebook WMI Driver"
289	depends on ASUS_WMI
290	help
291	  This is a driver for newer Asus notebooks. It adds extra features
292	  like wireless radio and bluetooth control, leds, hotkeys, backlight...
293
294	  For more information, see
295	  <file:Documentation/ABI/testing/sysfs-platform-asus-wmi>
296
297	  If you have an ACPI-WMI compatible Asus Notebook, say Y or M
298	  here.
299
300config ASUS_TF103C_DOCK
301	tristate "Asus TF103C 2-in-1 keyboard dock"
302	depends on ACPI
303	depends on I2C
304	depends on INPUT
305	depends on HID
306	depends on GPIOLIB
307	help
308	  This is a driver for the keyboard, touchpad and USB port of the
309	  keyboard dock for the Asus TF103C 2-in-1 tablet.
310
311	  This keyboard dock has its own I2C attached embedded controller
312	  and the keyboard and touchpad are also connected over I2C,
313	  instead of using the usual USB connection. This means that the
314	  keyboard dock requires this special driver to function.
315
316	  If you have an Asus TF103C tablet say Y or M here, for a generic x86
317	  distro config say M here.
318
319config MERAKI_MX100
320	tristate "Cisco Meraki MX100 Platform Driver"
321	depends on GPIOLIB
322	depends on GPIO_ICH
323	depends on LEDS_CLASS
324	select LEDS_GPIO
325	help
326	  This driver provides support for the front button and LEDs on
327	  the Cisco Meraki MX100 (Tinkerbell) 1U appliance.
328
329	  To compile this driver as a module, choose M here: the module
330	  will be called meraki-mx100.
331
332config EEEPC_LAPTOP
333	tristate "Eee PC Hotkey Driver"
334	depends on ACPI_EC
335	depends on INPUT
336	depends on RFKILL || RFKILL = n
337	depends on ACPI_VIDEO || ACPI_VIDEO = n
338	depends on HOTPLUG_PCI
339	depends on BACKLIGHT_CLASS_DEVICE
340	select HWMON
341	select LEDS_CLASS
342	select NEW_LEDS
343	select INPUT_SPARSEKMAP
344	help
345	  This driver supports the Fn-Fx keys on Eee PC laptops.
346
347	  It  also gives access to some extra laptop functionalities like
348	  Bluetooth, backlight and allows powering on/off some other
349	  devices.
350
351	  If you have an Eee PC laptop, say Y or M here. If this driver
352	  doesn't work on your Eee PC, try eeepc-wmi instead.
353
354config EEEPC_WMI
355	tristate "Eee PC WMI Driver"
356	depends on ASUS_WMI
357	help
358	  This is a driver for newer Eee PC laptops. It adds extra features
359	  like wireless radio and bluetooth control, leds, hotkeys, backlight...
360
361	  For more information, see
362	  <file:Documentation/ABI/testing/sysfs-platform-asus-wmi>
363
364	  If you have an ACPI-WMI compatible Eee PC laptop (>= 1000), say Y or M
365	  here.
366
367source "drivers/platform/x86/dell/Kconfig"
368
369config AMILO_RFKILL
370	tristate "Fujitsu-Siemens Amilo rfkill support"
371	depends on RFKILL
372	depends on SERIO_I8042
373	help
374	  This is a driver for enabling wifi on some Fujitsu-Siemens Amilo
375	  laptops.
376
377config FUJITSU_LAPTOP
378	tristate "Fujitsu Laptop Extras"
379	depends on ACPI
380	depends on INPUT
381	depends on BACKLIGHT_CLASS_DEVICE
382	depends on ACPI_BATTERY
383	depends on ACPI_VIDEO || ACPI_VIDEO = n
384	select INPUT_SPARSEKMAP
385	select NEW_LEDS
386	select LEDS_CLASS
387	help
388	  This is a driver for laptops built by Fujitsu:
389
390	    * P2xxx/P5xxx/S6xxx/S7xxx series Lifebooks
391	    * Possibly other Fujitsu laptop models
392	    * Tested with S6410 and S7020
393
394	  It adds support for LCD brightness control and some hotkeys.
395
396	  If you have a Fujitsu laptop, say Y or M here.
397
398config FUJITSU_TABLET
399       tristate "Fujitsu Tablet Extras"
400       depends on ACPI
401       depends on INPUT
402	help
403         This is a driver for tablets built by Fujitsu:
404
405           * Lifebook P1510/P1610/P1620/Txxxx
406           * Stylistic ST5xxx
407           * Possibly other Fujitsu tablet models
408
409         It adds support for the panel buttons, docking station detection,
410         tablet/notebook mode detection for convertible and
411         orientation detection for docked slates.
412
413         If you have a Fujitsu convertible or slate, say Y or M here.
414
415config GPD_POCKET_FAN
416	tristate "GPD Pocket Fan Controller support"
417	depends on ACPI
418	depends on THERMAL
419	help
420	  Driver for the GPD Pocket vendor specific FAN02501 ACPI device
421	  which controls the fan speed on the GPD Pocket.
422
423	  Without this driver the fan on the Pocket will stay off independent
424	  of the CPU temperature. Say Y or M if the kernel may be used on a
425	  GPD pocket.
426
427source "drivers/platform/x86/hp/Kconfig"
428
429config WIRELESS_HOTKEY
430	tristate "Wireless hotkey button"
431	depends on ACPI
432	depends on INPUT
433	help
434	 This driver provides supports for the wireless buttons found on some AMD,
435	 HP, & Xiaomi laptops.
436	 On such systems the driver should load automatically (via ACPI alias).
437
438	 To compile this driver as a module, choose M here: the module will
439	 be called wireless-hotkey.
440
441config IBM_RTL
442	tristate "Device driver to enable PRTL support"
443	depends on PCI
444	help
445	 Enable support for IBM Premium Real Time Mode (PRTM).
446	 This module will allow you the enter and exit PRTM in the BIOS via
447	 sysfs on platforms that support this feature.  System in PRTM will
448	 not receive CPU-generated SMIs for recoverable errors.  Use of this
449	 feature without proper support may void your hardware warranty.
450
451	 If the proper BIOS support is found the driver will load and create
452	 /sys/devices/system/ibm_rtl/.  The "state" variable will indicate
453	 whether or not the BIOS is in PRTM.
454	 state = 0 (BIOS SMIs on)
455	 state = 1 (BIOS SMIs off)
456
457config SENSORS_HDAPS
458	tristate "Thinkpad Hard Drive Active Protection System (hdaps)"
459	depends on INPUT
460	help
461	  This driver provides support for the IBM Hard Drive Active Protection
462	  System (hdaps), which provides an accelerometer and other misc. data.
463	  ThinkPads starting with the R50, T41, and X40 are supported.  The
464	  accelerometer data is readable via sysfs.
465
466	  This driver also provides an absolute input class device, allowing
467	  the laptop to act as a pinball machine-esque joystick.
468
469	  If your ThinkPad is not recognized by the driver, please update to latest
470	  BIOS. This is especially the case for some R52 ThinkPads.
471
472	  Say Y here if you have an applicable laptop and want to experience
473	  the awesome power of hdaps.
474
475source "drivers/platform/x86/intel/Kconfig"
476source "drivers/platform/x86/lenovo/Kconfig"
477
478config ACPI_QUICKSTART
479	tristate "ACPI Quickstart button driver"
480	depends on ACPI
481	depends on INPUT
482	select INPUT_SPARSEKMAP
483	help
484	  This driver adds support for ACPI quickstart button (PNP0C32) devices.
485	  The button emits a manufacturer-specific key value when pressed, so
486	  userspace has to map this value to a standard key code.
487
488	  To compile this driver as a module, choose M here: the module will be
489	  called quickstart.
490
491config MEEGOPAD_ANX7428
492	tristate "MeeGoPad ANX7428 Type-C Switch"
493	depends on ACPI && GPIOLIB && I2C
494	help
495	  Some MeeGoPad top-set boxes have an ANX7428 Type-C Switch for
496	  USB3.1 Gen 1 and DisplayPort over Type-C alternate mode support.
497
498	  This driver takes care of powering on the ANX7428 on supported
499	  MeeGoPad top-set boxes. After this the ANX7428 takes care of Type-C
500	  connector orientation and PD alternate mode switching autonomously.
501
502config MSI_EC
503	tristate "MSI EC Extras"
504	depends on ACPI_EC
505	depends on ACPI_BATTERY
506	help
507	  This driver allows various MSI laptops' functionalities to be
508	  controlled from userspace, including battery charge threshold.
509
510config MSI_LAPTOP
511	tristate "MSI Laptop Extras"
512	depends on ACPI_EC
513	depends on BACKLIGHT_CLASS_DEVICE
514	depends on ACPI_VIDEO || ACPI_VIDEO = n
515	depends on RFKILL
516	depends on INPUT && SERIO_I8042
517	select INPUT_SPARSEKMAP
518	help
519	  This is a driver for laptops built by MSI (MICRO-STAR
520	  INTERNATIONAL):
521
522	  MSI MegaBook S270 (MS-1013)
523	  Cytron/TCM/Medion/Tchibo MD96100/SAM2000
524
525	  It adds support for Bluetooth, WLAN and LCD brightness control.
526
527	  More information about this driver is available at
528	  <http://0pointer.de/lennart/tchibo.html>.
529
530	  If you have an MSI S270 laptop, say Y or M here.
531
532config MSI_WMI
533	tristate "MSI WMI extras"
534	depends on ACPI_WMI
535	depends on INPUT
536	depends on BACKLIGHT_CLASS_DEVICE
537	depends on ACPI_VIDEO || ACPI_VIDEO = n
538	select INPUT_SPARSEKMAP
539	help
540	 Say Y here if you want to support WMI-based hotkeys on MSI laptops.
541
542	 To compile this driver as a module, choose M here: the module will
543	 be called msi-wmi.
544
545config MSI_WMI_PLATFORM
546	tristate "MSI WMI Platform features"
547	depends on ACPI_WMI
548	depends on DMI
549	depends on HWMON
550	help
551	  Say Y here if you want to have support for WMI-based platform features
552	  like fan sensor access on MSI machines.
553
554	  To compile this driver as a module, choose M here: the module will
555	  be called msi-wmi-platform.
556
557config XO15_EBOOK
558	tristate "OLPC XO-1.5 ebook switch"
559	depends on OLPC || COMPILE_TEST
560	depends on ACPI && INPUT
561	help
562	  Support for the ebook switch on the OLPC XO-1.5 laptop.
563
564	  This switch is triggered as the screen is rotated and folded down to
565	  convert the device into ebook form.
566
567config XO1_RFKILL
568	tristate "OLPC XO-1 software RF kill switch"
569	depends on OLPC || COMPILE_TEST
570	depends on RFKILL
571	help
572	  Support for enabling/disabling the WLAN interface on the OLPC XO-1
573	  laptop.
574
575config PCENGINES_APU2
576	tristate "PC Engines APUv2/3 front button and LEDs driver"
577	depends on INPUT && INPUT_KEYBOARD && GPIOLIB
578	depends on LEDS_CLASS
579	select GPIO_AMD_FCH
580	select KEYBOARD_GPIO_POLLED
581	select LEDS_GPIO
582	help
583	  This driver provides support for the front button and LEDs on
584	  PC Engines APUv2/APUv3 board.
585
586	  To compile this driver as a module, choose M here: the module
587	  will be called pcengines-apuv2.
588
589config PORTWELL_EC
590	tristate "Portwell Embedded Controller driver"
591	depends on X86 && HAS_IOPORT && WATCHDOG && GPIOLIB
592	select WATCHDOG_CORE
593	help
594	  This driver provides support for the GPIO pins and watchdog timer
595	  embedded in Portwell's EC.
596
597	  Theoretically, this driver should work on multiple Portwell platforms,
598	  but it has only been tested on the Portwell NANO-6064 board.
599	  If you encounter any issues on other boards, please report them.
600
601	  To compile this driver as a module, choose M here: the module
602	  will be called portwell-ec.
603
604config BARCO_P50_GPIO
605	tristate "Barco P50 GPIO driver for identify LED/button"
606	depends on GPIOLIB
607	help
608	  This driver provides access to the GPIOs for the identify button
609	  and led present on Barco P50 board.
610
611	  To compile this driver as a module, choose M here: the module
612	  will be called barco-p50-gpio.
613
614config SAMSUNG_GALAXYBOOK
615	tristate "Samsung Galaxy Book driver"
616	depends on ACPI
617	depends on ACPI_BATTERY
618	depends on INPUT
619	depends on LEDS_CLASS
620	depends on SERIO_I8042
621	select ACPI_PLATFORM_PROFILE
622	select FW_ATTR_CLASS
623	help
624	  This is a driver for Samsung Galaxy Book series notebooks. It adds
625	  support for the keyboard backlight control, performance mode control,
626	  function keys, and various firmware attributes.
627
628	  For more information about this driver, see
629	  <file:Documentation/admin-guide/laptops/samsung-galaxybook.rst>.
630
631config SAMSUNG_LAPTOP
632	tristate "Samsung Laptop driver"
633	depends on RFKILL || RFKILL = n
634	depends on ACPI_VIDEO || ACPI_VIDEO = n
635	depends on ACPI_BATTERY
636	depends on BACKLIGHT_CLASS_DEVICE
637	select LEDS_CLASS
638	select NEW_LEDS
639	help
640	  This module implements a driver for a wide range of different
641	  Samsung laptops.  It offers control over the different
642	  function keys, wireless LED, LCD backlight level.
643
644	  It may also provide some sysfs files described in
645	  <file:Documentation/ABI/testing/sysfs-driver-samsung-laptop>
646
647	  To compile this driver as a module, choose M here: the module
648	  will be called samsung-laptop.
649
650config SAMSUNG_Q10
651	tristate "Samsung Q10 Extras"
652	depends on ACPI_EC
653	select BACKLIGHT_CLASS_DEVICE
654	help
655	  This driver provides support for backlight control on Samsung Q10
656	  and related laptops, including Dell Latitude X200.
657
658config ACPI_TOSHIBA
659	tristate "Toshiba Laptop Extras"
660	depends on ACPI_EC
661	depends on ACPI_BATTERY
662	depends on ACPI_WMI
663	select LEDS_CLASS
664	select NEW_LEDS
665	depends on BACKLIGHT_CLASS_DEVICE
666	depends on INPUT
667	depends on SERIO_I8042 || SERIO_I8042 = n
668	depends on ACPI_VIDEO || ACPI_VIDEO = n
669	depends on HWMON || HWMON = n
670	depends on RFKILL || RFKILL = n
671	depends on IIO
672	select INPUT_SPARSEKMAP
673	help
674	  This driver adds support for access to certain system settings
675	  on "legacy free" Toshiba laptops.  These laptops can be recognized by
676	  their lack of a BIOS setup menu and APM support.
677
678	  On these machines, all system configuration is handled through the
679	  ACPI.  This driver is required for access to controls not covered
680	  by the general ACPI drivers, such as LCD brightness, video output,
681	  etc.
682
683	  This driver differs from the non-ACPI Toshiba laptop driver (located
684	  under "Processor type and features") in several aspects.
685	  Configuration is accessed by reading and writing text files in the
686	  /proc tree instead of by program interface to /dev.  Furthermore, no
687	  power management functions are exposed, as those are handled by the
688	  general ACPI drivers.
689
690	  More information about this driver is available at
691	  <http://memebeam.org/toys/ToshibaAcpiDriver>.
692
693	  If you have a legacy free Toshiba laptop (such as the Libretto L1
694	  series), say Y.
695
696config TOSHIBA_BT_RFKILL
697	tristate "Toshiba Bluetooth RFKill switch support"
698	depends on ACPI
699	depends on RFKILL || RFKILL = n
700	help
701	  This driver adds support for Bluetooth events for the RFKill
702	  switch on modern Toshiba laptops with full ACPI support and
703	  an RFKill switch.
704
705	  This driver handles RFKill events for the TOS6205 Bluetooth,
706	  and re-enables it when the switch is set back to the 'on'
707	  position.
708
709	  If you have a modern Toshiba laptop with a Bluetooth and an
710	  RFKill switch (such as the Portege R500), say Y.
711
712config TOSHIBA_HAPS
713	tristate "Toshiba HDD Active Protection Sensor"
714	depends on ACPI
715	help
716	  This driver adds support for the built-in accelerometer
717	  found on recent Toshiba laptops equipped with HID TOS620A
718	  device.
719
720	  This driver receives ACPI notify events 0x80 when the sensor
721	  detects a sudden move or a harsh vibration, as well as an
722	  ACPI notify event 0x81 whenever the movement or vibration has
723	  been stabilized.
724
725	  Also provides sysfs entries to get/set the desired protection
726	  level and resetting the HDD protection interface.
727
728	  If you have a recent Toshiba laptop with a built-in accelerometer
729	  device, say Y.
730
731config TOSHIBA_WMI
732	tristate "Toshiba WMI Hotkeys Driver (EXPERIMENTAL)"
733	depends on ACPI_WMI
734	depends on INPUT
735	select INPUT_SPARSEKMAP
736	help
737	  This driver adds hotkey monitoring support to some Toshiba models
738	  that manage the hotkeys via WMI events.
739
740	  WARNING: This driver is incomplete as it lacks a proper keymap and the
741	  *notify function only prints the ACPI event type value. Be warned that
742	  you will need to provide some information if you have a Toshiba model
743	  with WMI event hotkeys and want to help with the development of this
744	  driver.
745
746	  If you have a WMI-based hotkeys Toshiba laptop, say Y or M here.
747
748config ACPI_CMPC
749	tristate "CMPC Laptop Extras"
750	depends on ACPI && INPUT
751	depends on RFKILL || RFKILL=n
752	select BACKLIGHT_CLASS_DEVICE
753	help
754	  Support for Intel Classmate PC ACPI devices, including some
755	  keys as input device, backlight device, tablet and accelerometer
756	  devices.
757
758config COMPAL_LAPTOP
759	tristate "Compal (and others) Laptop Extras"
760	depends on ACPI_EC
761	depends on BACKLIGHT_CLASS_DEVICE
762	depends on ACPI_VIDEO || ACPI_VIDEO = n
763	depends on RFKILL
764	depends on HWMON
765	depends on POWER_SUPPLY
766	help
767	  This is a driver for laptops built by Compal, and some models by
768	  other brands (e.g. Dell, Toshiba).
769
770	  It adds support for rfkill, Bluetooth, WLAN, LCD brightness, hwmon
771	  and battery charging level control.
772
773config LG_LAPTOP
774	tristate "LG Laptop Extras"
775	depends on ACPI
776	depends on ACPI_BATTERY
777	depends on ACPI_WMI
778	depends on INPUT
779	select INPUT_SPARSEKMAP
780	select NEW_LEDS
781	select LEDS_CLASS
782	help
783	 This driver adds support for hotkeys as well as control of keyboard
784	 backlight, battery maximum charge level and various other ACPI
785	 features.
786
787	 If you have an LG Gram laptop, say Y or M here.
788
789config PANASONIC_LAPTOP
790	tristate "Panasonic Laptop Extras"
791	depends on INPUT && ACPI
792	depends on BACKLIGHT_CLASS_DEVICE
793	depends on ACPI_VIDEO=n || ACPI_VIDEO
794	depends on SERIO_I8042 || SERIO_I8042 = n
795	select INPUT_SPARSEKMAP
796	help
797	  This driver adds support for access to backlight control and hotkeys
798	  on Panasonic Let's Note laptops.
799
800	  If you have a Panasonic Let's note laptop (such as the R1(N variant),
801	  R2, R3, R5, T2, W2 and Y2 series), say Y.
802
803config SONY_LAPTOP
804	tristate "Sony Laptop Extras"
805	depends on ACPI_EC
806	depends on ACPI_VIDEO || ACPI_VIDEO = n
807	depends on BACKLIGHT_CLASS_DEVICE
808	depends on INPUT
809	depends on RFKILL
810	help
811	  This mini-driver drives the SNC and SPIC devices present in the ACPI
812	  BIOS of the Sony Vaio laptops.
813
814	  It gives access to some extra laptop functionalities like Bluetooth,
815	  screen brightness control, Fn keys and allows powering on/off some
816	  devices.
817
818	  Read <file:Documentation/admin-guide/laptops/sony-laptop.rst> for more information.
819
820config SONYPI_COMPAT
821	bool "Sonypi compatibility"
822	depends on SONY_LAPTOP
823	help
824	  Build the sonypi driver compatibility code into the sony-laptop driver.
825
826config SYSTEM76_ACPI
827	tristate "System76 ACPI Driver"
828	depends on ACPI_EC
829	depends on ACPI_BATTERY
830	depends on HWMON
831	depends on INPUT
832	select NEW_LEDS
833	select LEDS_CLASS
834	select LEDS_TRIGGERS
835	help
836	  This is a driver for System76 laptops running open firmware. It adds
837	  support for Fn-Fx key combinations, keyboard backlight, and airplane mode
838	  LEDs.
839
840	  If you have a System76 laptop running open firmware, say Y or M here.
841
842config TOPSTAR_LAPTOP
843	tristate "Topstar Laptop Extras"
844	depends on ACPI
845	depends on INPUT
846	select INPUT_SPARSEKMAP
847	select LEDS_CLASS
848	select NEW_LEDS
849	help
850	  This driver adds support for hotkeys found on Topstar laptops.
851
852	  If you have a Topstar laptop, say Y or M here.
853
854config SERIAL_MULTI_INSTANTIATE
855	tristate "Serial bus multi instantiate pseudo device driver"
856	depends on ACPI
857	depends on (I2C && !SPI) || (!I2C && SPI) || (I2C && SPI)
858	help
859	  Some ACPI-based systems list multiple devices in a single ACPI
860	  firmware-node. This driver will instantiate separate clients
861	  for each device in the firmware-node.
862
863	  To compile this driver as a module, choose M here: the module
864	  will be called serial-multi-instantiate.
865
866config TOUCHSCREEN_DMI
867	bool "DMI based touchscreen configuration info"
868	depends on ACPI && DMI && I2C=y && TOUCHSCREEN_SILEAD
869	select EFI_EMBEDDED_FIRMWARE if EFI
870	help
871	  Certain ACPI based tablets with e.g. Silead or Chipone touchscreens
872	  do not have enough data in ACPI tables for the touchscreen driver to
873	  handle the touchscreen properly, as OEMs expect the data to be baked
874	  into the tablet model specific version of the driver shipped with the
875	  the OS-image for the device. This option supplies the missing info.
876	  Enable this for x86 tablets with Silead or Chipone touchscreens.
877
878config INSPUR_PLATFORM_PROFILE
879	tristate "Inspur WMI platform profile driver"
880	depends on ACPI_WMI
881	select ACPI_PLATFORM_PROFILE
882	help
883	This will allow users to determine and control the platform modes
884	between low-power, balanced and performance modes.
885
886	To compile this driver as a module, choose M here: the module
887	will be called inspur-platform-profile.
888
889config DASHARO_ACPI
890	tristate "Dasharo ACPI Platform Driver"
891	depends on ACPI
892	depends on HWMON
893	help
894	  This driver provides HWMON support for devices running Dasharo
895	  firmware.
896
897	  If you have a device with Dasharo firmware, choose Y or M here.
898
899source "drivers/platform/x86/x86-android-tablets/Kconfig"
900
901config FW_ATTR_CLASS
902	tristate
903
904config INTEL_IMR
905	bool "Intel Isolated Memory Region support"
906	depends on X86_INTEL_QUARK && IOSF_MBI
907	help
908	  This option provides a means to manipulate Isolated Memory Regions.
909	  IMRs are a set of registers that define read and write access masks
910	  to prohibit certain system agents from accessing memory with 1 KiB
911	  granularity.
912
913	  IMRs make it possible to control read/write access to an address
914	  by hardware agents inside the SoC. Read and write masks can be
915	  defined for:
916		- eSRAM flush
917		- Dirty CPU snoop (write only)
918		- RMU access
919		- PCI Virtual Channel 0/Virtual Channel 1
920		- SMM mode
921		- Non SMM mode
922
923	  Quark contains a set of eight IMR registers and makes use of those
924	  registers during its bootup process.
925
926	  If you are running on a Galileo/Quark say Y here.
927
928config INTEL_IPS
929	tristate "Intel Intelligent Power Sharing"
930	depends on ACPI && PCI
931	help
932	  Intel Calpella platforms support dynamic power sharing between the
933	  CPU and GPU, maximizing performance in a given TDP.  This driver,
934	  along with the CPU frequency and i915 drivers, provides that
935	  functionality.  If in doubt, say Y here; it will only load on
936	  supported platforms.
937
938config INTEL_SCU_IPC
939	bool
940
941config INTEL_SCU
942	bool
943	select INTEL_SCU_IPC
944
945config INTEL_SCU_PCI
946	bool "Intel SCU PCI driver"
947	depends on PCI
948	select INTEL_SCU
949	help
950	  This driver is used to bridge the communications between kernel
951	  and SCU on some embedded Intel x86 platforms. It also creates
952	  devices that are connected to the SoC through the SCU.
953	  Platforms supported:
954	    Medfield
955	    Clovertrail
956	    Merrifield
957	    Broxton
958	    Apollo Lake
959
960config INTEL_SCU_PLATFORM
961	tristate "Intel SCU platform driver"
962	depends on ACPI
963	select INTEL_SCU
964	help
965	  This driver is used to bridge the communications between kernel
966	  and SCU (sometimes called PMC as well). The driver currently
967	  supports Intel Elkhart Lake and compatible platforms.
968
969config INTEL_SCU_WDT
970	bool
971	default INTEL_SCU_PCI
972	depends on INTEL_MID_WATCHDOG
973	help
974	  This is a specific platform code to instantiate watchdog device
975	  on ACPI-based Intel MID platforms.
976
977config INTEL_SCU_IPC_UTIL
978	tristate "Intel SCU IPC utility driver"
979	depends on INTEL_SCU
980	help
981	  The IPC Util driver provides an interface with the SCU enabling
982	  low level access for debug work and updating the firmware. Say
983	  N unless you will be doing this on an Intel MID platform.
984
985source "drivers/platform/x86/siemens/Kconfig"
986
987config SILICOM_PLATFORM
988	tristate "Silicom Edge Networking device support"
989	depends on HWMON
990	depends on GPIOLIB
991	depends on LEDS_CLASS_MULTICOLOR
992	help
993	  This option enables support for the LEDs/GPIO/etc downstream of the
994	  embedded controller on Silicom "Cordoba" hardware and derivatives.
995
996	  This platform driver provides support for various functions via
997	  the Linux LED framework, GPIO framework, Hardware Monitoring (HWMON)
998	  and device attributes.
999
1000	  If you have a Silicom network appliance, say Y or M here.
1001
1002config WINMATE_FM07_KEYS
1003	tristate "Winmate FM07/FM07P front-panel keys driver"
1004	depends on INPUT
1005	help
1006	  Winmate FM07 and FM07P in-vehicle computers have a row of five
1007	  buttons below the display. This module adds an input device
1008	  that delivers key events when these buttons are pressed.
1009
1010config SEL3350_PLATFORM
1011	tristate "SEL-3350 LEDs and power supplies"
1012	depends on ACPI
1013	depends on GPIOLIB
1014	depends on PINCTRL_BROXTON
1015	select POWER_SUPPLY
1016	select NEW_LEDS
1017	select LEDS_CLASS
1018	select LEDS_GPIO
1019	help
1020	  Support for LEDs and power supplies on SEL-3350 computers.
1021
1022	  To compile this driver as a module, choose M here: the module
1023	  will be called sel3350-platform.
1024
1025config OXP_EC
1026	tristate "OneXPlayer EC platform control"
1027	depends on ACPI_EC
1028	depends on ACPI_BATTERY
1029	depends on HWMON
1030	depends on X86
1031	help
1032		Enables support for the platform EC of OneXPlayer and AOKZOE
1033		handheld devices. This includes fan speed, fan controls, and
1034		disabling the default TDP behavior of the device. Due to legacy
1035		reasons, this driver also provides hwmon functionality to Ayaneo
1036		devices and the OrangePi Neo.
1037
1038source "drivers/platform/x86/tuxedo/Kconfig"
1039
1040endif # X86_PLATFORM_DEVICES
1041
1042config P2SB
1043	bool
1044	depends on PCI && X86
1045	help
1046	  The Primary to Sideband (P2SB) bridge is an interface to some
1047	  PCI devices connected through it. In particular, SPI NOR controller
1048	  in Intel Apollo Lake SoC is one of such devices.
1049
1050	  The main purpose of this library is to unhide P2SB device in case
1051	  firmware kept it hidden on some platforms in order to access devices
1052	  behind it.
1053