xref: /linux/drivers/platform/x86/Kconfig (revision b66451723c45b791fd2824d1b8f62fe498989e23)
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, & Xioami 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 HWMON
549	help
550	  Say Y here if you want to have support for WMI-based platform features
551	  like fan sensor access on MSI machines.
552
553	  To compile this driver as a module, choose M here: the module will
554	  be called msi-wmi-platform.
555
556config XO15_EBOOK
557	tristate "OLPC XO-1.5 ebook switch"
558	depends on OLPC || COMPILE_TEST
559	depends on ACPI && INPUT
560	help
561	  Support for the ebook switch on the OLPC XO-1.5 laptop.
562
563	  This switch is triggered as the screen is rotated and folded down to
564	  convert the device into ebook form.
565
566config XO1_RFKILL
567	tristate "OLPC XO-1 software RF kill switch"
568	depends on OLPC || COMPILE_TEST
569	depends on RFKILL
570	help
571	  Support for enabling/disabling the WLAN interface on the OLPC XO-1
572	  laptop.
573
574config PCENGINES_APU2
575	tristate "PC Engines APUv2/3 front button and LEDs driver"
576	depends on INPUT && INPUT_KEYBOARD && GPIOLIB
577	depends on LEDS_CLASS
578	select GPIO_AMD_FCH
579	select KEYBOARD_GPIO_POLLED
580	select LEDS_GPIO
581	help
582	  This driver provides support for the front button and LEDs on
583	  PC Engines APUv2/APUv3 board.
584
585	  To compile this driver as a module, choose M here: the module
586	  will be called pcengines-apuv2.
587
588config PORTWELL_EC
589	tristate "Portwell Embedded Controller driver"
590	depends on X86 && HAS_IOPORT && WATCHDOG && GPIOLIB
591	select WATCHDOG_CORE
592	help
593	  This driver provides support for the GPIO pins and watchdog timer
594	  embedded in Portwell's EC.
595
596	  Theoretically, this driver should work on multiple Portwell platforms,
597	  but it has only been tested on the Portwell NANO-6064 board.
598	  If you encounter any issues on other boards, please report them.
599
600	  To compile this driver as a module, choose M here: the module
601	  will be called portwell-ec.
602
603config BARCO_P50_GPIO
604	tristate "Barco P50 GPIO driver for identify LED/button"
605	depends on GPIOLIB
606	help
607	  This driver provides access to the GPIOs for the identify button
608	  and led present on Barco P50 board.
609
610	  To compile this driver as a module, choose M here: the module
611	  will be called barco-p50-gpio.
612
613config SAMSUNG_GALAXYBOOK
614	tristate "Samsung Galaxy Book driver"
615	depends on ACPI
616	depends on ACPI_BATTERY
617	depends on INPUT
618	depends on LEDS_CLASS
619	depends on SERIO_I8042
620	select ACPI_PLATFORM_PROFILE
621	select FW_ATTR_CLASS
622	help
623	  This is a driver for Samsung Galaxy Book series notebooks. It adds
624	  support for the keyboard backlight control, performance mode control,
625	  function keys, and various firmware attributes.
626
627	  For more information about this driver, see
628	  <file:Documentation/admin-guide/laptops/samsung-galaxybook.rst>.
629
630config SAMSUNG_LAPTOP
631	tristate "Samsung Laptop driver"
632	depends on RFKILL || RFKILL = n
633	depends on ACPI_VIDEO || ACPI_VIDEO = n
634	depends on ACPI_BATTERY
635	depends on BACKLIGHT_CLASS_DEVICE
636	select LEDS_CLASS
637	select NEW_LEDS
638	help
639	  This module implements a driver for a wide range of different
640	  Samsung laptops.  It offers control over the different
641	  function keys, wireless LED, LCD backlight level.
642
643	  It may also provide some sysfs files described in
644	  <file:Documentation/ABI/testing/sysfs-driver-samsung-laptop>
645
646	  To compile this driver as a module, choose M here: the module
647	  will be called samsung-laptop.
648
649config SAMSUNG_Q10
650	tristate "Samsung Q10 Extras"
651	depends on ACPI_EC
652	select BACKLIGHT_CLASS_DEVICE
653	help
654	  This driver provides support for backlight control on Samsung Q10
655	  and related laptops, including Dell Latitude X200.
656
657config ACPI_TOSHIBA
658	tristate "Toshiba Laptop Extras"
659	depends on ACPI_EC
660	depends on ACPI_BATTERY
661	depends on ACPI_WMI
662	select LEDS_CLASS
663	select NEW_LEDS
664	depends on BACKLIGHT_CLASS_DEVICE
665	depends on INPUT
666	depends on SERIO_I8042 || SERIO_I8042 = n
667	depends on ACPI_VIDEO || ACPI_VIDEO = n
668	depends on HWMON || HWMON = n
669	depends on RFKILL || RFKILL = n
670	depends on IIO
671	select INPUT_SPARSEKMAP
672	help
673	  This driver adds support for access to certain system settings
674	  on "legacy free" Toshiba laptops.  These laptops can be recognized by
675	  their lack of a BIOS setup menu and APM support.
676
677	  On these machines, all system configuration is handled through the
678	  ACPI.  This driver is required for access to controls not covered
679	  by the general ACPI drivers, such as LCD brightness, video output,
680	  etc.
681
682	  This driver differs from the non-ACPI Toshiba laptop driver (located
683	  under "Processor type and features") in several aspects.
684	  Configuration is accessed by reading and writing text files in the
685	  /proc tree instead of by program interface to /dev.  Furthermore, no
686	  power management functions are exposed, as those are handled by the
687	  general ACPI drivers.
688
689	  More information about this driver is available at
690	  <http://memebeam.org/toys/ToshibaAcpiDriver>.
691
692	  If you have a legacy free Toshiba laptop (such as the Libretto L1
693	  series), say Y.
694
695config TOSHIBA_BT_RFKILL
696	tristate "Toshiba Bluetooth RFKill switch support"
697	depends on ACPI
698	depends on RFKILL || RFKILL = n
699	help
700	  This driver adds support for Bluetooth events for the RFKill
701	  switch on modern Toshiba laptops with full ACPI support and
702	  an RFKill switch.
703
704	  This driver handles RFKill events for the TOS6205 Bluetooth,
705	  and re-enables it when the switch is set back to the 'on'
706	  position.
707
708	  If you have a modern Toshiba laptop with a Bluetooth and an
709	  RFKill switch (such as the Portege R500), say Y.
710
711config TOSHIBA_HAPS
712	tristate "Toshiba HDD Active Protection Sensor"
713	depends on ACPI
714	help
715	  This driver adds support for the built-in accelerometer
716	  found on recent Toshiba laptops equipped with HID TOS620A
717	  device.
718
719	  This driver receives ACPI notify events 0x80 when the sensor
720	  detects a sudden move or a harsh vibration, as well as an
721	  ACPI notify event 0x81 whenever the movement or vibration has
722	  been stabilized.
723
724	  Also provides sysfs entries to get/set the desired protection
725	  level and resetting the HDD protection interface.
726
727	  If you have a recent Toshiba laptop with a built-in accelerometer
728	  device, say Y.
729
730config TOSHIBA_WMI
731	tristate "Toshiba WMI Hotkeys Driver (EXPERIMENTAL)"
732	depends on ACPI_WMI
733	depends on INPUT
734	select INPUT_SPARSEKMAP
735	help
736	  This driver adds hotkey monitoring support to some Toshiba models
737	  that manage the hotkeys via WMI events.
738
739	  WARNING: This driver is incomplete as it lacks a proper keymap and the
740	  *notify function only prints the ACPI event type value. Be warned that
741	  you will need to provide some information if you have a Toshiba model
742	  with WMI event hotkeys and want to help with the development of this
743	  driver.
744
745	  If you have a WMI-based hotkeys Toshiba laptop, say Y or M here.
746
747config ACPI_CMPC
748	tristate "CMPC Laptop Extras"
749	depends on ACPI && INPUT
750	depends on RFKILL || RFKILL=n
751	select BACKLIGHT_CLASS_DEVICE
752	help
753	  Support for Intel Classmate PC ACPI devices, including some
754	  keys as input device, backlight device, tablet and accelerometer
755	  devices.
756
757config COMPAL_LAPTOP
758	tristate "Compal (and others) Laptop Extras"
759	depends on ACPI_EC
760	depends on BACKLIGHT_CLASS_DEVICE
761	depends on ACPI_VIDEO || ACPI_VIDEO = n
762	depends on RFKILL
763	depends on HWMON
764	depends on POWER_SUPPLY
765	help
766	  This is a driver for laptops built by Compal, and some models by
767	  other brands (e.g. Dell, Toshiba).
768
769	  It adds support for rfkill, Bluetooth, WLAN, LCD brightness, hwmon
770	  and battery charging level control.
771
772config LG_LAPTOP
773	tristate "LG Laptop Extras"
774	depends on ACPI
775	depends on ACPI_BATTERY
776	depends on ACPI_WMI
777	depends on INPUT
778	select INPUT_SPARSEKMAP
779	select NEW_LEDS
780	select LEDS_CLASS
781	help
782	 This driver adds support for hotkeys as well as control of keyboard
783	 backlight, battery maximum charge level and various other ACPI
784	 features.
785
786	 If you have an LG Gram laptop, say Y or M here.
787
788config PANASONIC_LAPTOP
789	tristate "Panasonic Laptop Extras"
790	depends on INPUT && ACPI
791	depends on BACKLIGHT_CLASS_DEVICE
792	depends on ACPI_VIDEO=n || ACPI_VIDEO
793	depends on SERIO_I8042 || SERIO_I8042 = n
794	select INPUT_SPARSEKMAP
795	help
796	  This driver adds support for access to backlight control and hotkeys
797	  on Panasonic Let's Note laptops.
798
799	  If you have a Panasonic Let's note laptop (such as the R1(N variant),
800	  R2, R3, R5, T2, W2 and Y2 series), say Y.
801
802config SONY_LAPTOP
803	tristate "Sony Laptop Extras"
804	depends on ACPI_EC
805	depends on ACPI_VIDEO || ACPI_VIDEO = n
806	depends on BACKLIGHT_CLASS_DEVICE
807	depends on INPUT
808	depends on RFKILL
809	help
810	  This mini-driver drives the SNC and SPIC devices present in the ACPI
811	  BIOS of the Sony Vaio laptops.
812
813	  It gives access to some extra laptop functionalities like Bluetooth,
814	  screen brightness control, Fn keys and allows powering on/off some
815	  devices.
816
817	  Read <file:Documentation/admin-guide/laptops/sony-laptop.rst> for more information.
818
819config SONYPI_COMPAT
820	bool "Sonypi compatibility"
821	depends on SONY_LAPTOP
822	help
823	  Build the sonypi driver compatibility code into the sony-laptop driver.
824
825config SYSTEM76_ACPI
826	tristate "System76 ACPI Driver"
827	depends on ACPI_EC
828	depends on ACPI_BATTERY
829	depends on HWMON
830	depends on INPUT
831	select NEW_LEDS
832	select LEDS_CLASS
833	select LEDS_TRIGGERS
834	help
835	  This is a driver for System76 laptops running open firmware. It adds
836	  support for Fn-Fx key combinations, keyboard backlight, and airplane mode
837	  LEDs.
838
839	  If you have a System76 laptop running open firmware, say Y or M here.
840
841config TOPSTAR_LAPTOP
842	tristate "Topstar Laptop Extras"
843	depends on ACPI
844	depends on INPUT
845	select INPUT_SPARSEKMAP
846	select LEDS_CLASS
847	select NEW_LEDS
848	help
849	  This driver adds support for hotkeys found on Topstar laptops.
850
851	  If you have a Topstar laptop, say Y or M here.
852
853config SERIAL_MULTI_INSTANTIATE
854	tristate "Serial bus multi instantiate pseudo device driver"
855	depends on ACPI
856	depends on (I2C && !SPI) || (!I2C && SPI) || (I2C && SPI)
857	help
858	  Some ACPI-based systems list multiple devices in a single ACPI
859	  firmware-node. This driver will instantiate separate clients
860	  for each device in the firmware-node.
861
862	  To compile this driver as a module, choose M here: the module
863	  will be called serial-multi-instantiate.
864
865config TOUCHSCREEN_DMI
866	bool "DMI based touchscreen configuration info"
867	depends on ACPI && DMI && I2C=y && TOUCHSCREEN_SILEAD
868	select EFI_EMBEDDED_FIRMWARE if EFI
869	help
870	  Certain ACPI based tablets with e.g. Silead or Chipone touchscreens
871	  do not have enough data in ACPI tables for the touchscreen driver to
872	  handle the touchscreen properly, as OEMs expect the data to be baked
873	  into the tablet model specific version of the driver shipped with the
874	  the OS-image for the device. This option supplies the missing info.
875	  Enable this for x86 tablets with Silead or Chipone touchscreens.
876
877config INSPUR_PLATFORM_PROFILE
878	tristate "Inspur WMI platform profile driver"
879	depends on ACPI_WMI
880	select ACPI_PLATFORM_PROFILE
881	help
882	This will allow users to determine and control the platform modes
883	between low-power, balanced and performance modes.
884
885	To compile this driver as a module, choose M here: the module
886	will be called inspur-platform-profile.
887
888config DASHARO_ACPI
889	tristate "Dasharo ACPI Platform Driver"
890	depends on ACPI
891	depends on HWMON
892	help
893	  This driver provides HWMON support for devices running Dasharo
894	  firmware.
895
896	  If you have a device with Dasharo firmware, choose Y or M here.
897
898source "drivers/platform/x86/x86-android-tablets/Kconfig"
899
900config FW_ATTR_CLASS
901	tristate
902
903config INTEL_IMR
904	bool "Intel Isolated Memory Region support"
905	depends on X86_INTEL_QUARK && IOSF_MBI
906	help
907	  This option provides a means to manipulate Isolated Memory Regions.
908	  IMRs are a set of registers that define read and write access masks
909	  to prohibit certain system agents from accessing memory with 1 KiB
910	  granularity.
911
912	  IMRs make it possible to control read/write access to an address
913	  by hardware agents inside the SoC. Read and write masks can be
914	  defined for:
915		- eSRAM flush
916		- Dirty CPU snoop (write only)
917		- RMU access
918		- PCI Virtual Channel 0/Virtual Channel 1
919		- SMM mode
920		- Non SMM mode
921
922	  Quark contains a set of eight IMR registers and makes use of those
923	  registers during its bootup process.
924
925	  If you are running on a Galileo/Quark say Y here.
926
927config INTEL_IPS
928	tristate "Intel Intelligent Power Sharing"
929	depends on ACPI && PCI
930	help
931	  Intel Calpella platforms support dynamic power sharing between the
932	  CPU and GPU, maximizing performance in a given TDP.  This driver,
933	  along with the CPU frequency and i915 drivers, provides that
934	  functionality.  If in doubt, say Y here; it will only load on
935	  supported platforms.
936
937config INTEL_SCU_IPC
938	bool
939
940config INTEL_SCU
941	bool
942	select INTEL_SCU_IPC
943
944config INTEL_SCU_PCI
945	bool "Intel SCU PCI driver"
946	depends on PCI
947	select INTEL_SCU
948	help
949	  This driver is used to bridge the communications between kernel
950	  and SCU on some embedded Intel x86 platforms. It also creates
951	  devices that are connected to the SoC through the SCU.
952	  Platforms supported:
953	    Medfield
954	    Clovertrail
955	    Merrifield
956	    Broxton
957	    Apollo Lake
958
959config INTEL_SCU_PLATFORM
960	tristate "Intel SCU platform driver"
961	depends on ACPI
962	select INTEL_SCU
963	help
964	  This driver is used to bridge the communications between kernel
965	  and SCU (sometimes called PMC as well). The driver currently
966	  supports Intel Elkhart Lake and compatible platforms.
967
968config INTEL_SCU_WDT
969	bool
970	default INTEL_SCU_PCI
971	depends on INTEL_MID_WATCHDOG
972	help
973	  This is a specific platform code to instantiate watchdog device
974	  on ACPI-based Intel MID platforms.
975
976config INTEL_SCU_IPC_UTIL
977	tristate "Intel SCU IPC utility driver"
978	depends on INTEL_SCU
979	help
980	  The IPC Util driver provides an interface with the SCU enabling
981	  low level access for debug work and updating the firmware. Say
982	  N unless you will be doing this on an Intel MID platform.
983
984source "drivers/platform/x86/siemens/Kconfig"
985
986config SILICOM_PLATFORM
987	tristate "Silicom Edge Networking device support"
988	depends on HWMON
989	depends on GPIOLIB
990	depends on LEDS_CLASS_MULTICOLOR
991	help
992	  This option enables support for the LEDs/GPIO/etc downstream of the
993	  embedded controller on Silicom "Cordoba" hardware and derivatives.
994
995	  This platform driver provides support for various functions via
996	  the Linux LED framework, GPIO framework, Hardware Monitoring (HWMON)
997	  and device attributes.
998
999	  If you have a Silicom network appliance, say Y or M here.
1000
1001config WINMATE_FM07_KEYS
1002	tristate "Winmate FM07/FM07P front-panel keys driver"
1003	depends on INPUT
1004	help
1005	  Winmate FM07 and FM07P in-vehicle computers have a row of five
1006	  buttons below the display. This module adds an input device
1007	  that delivers key events when these buttons are pressed.
1008
1009config SEL3350_PLATFORM
1010	tristate "SEL-3350 LEDs and power supplies"
1011	depends on ACPI
1012	depends on GPIOLIB
1013	depends on PINCTRL_BROXTON
1014	select POWER_SUPPLY
1015	select NEW_LEDS
1016	select LEDS_CLASS
1017	select LEDS_GPIO
1018	help
1019	  Support for LEDs and power supplies on SEL-3350 computers.
1020
1021	  To compile this driver as a module, choose M here: the module
1022	  will be called sel3350-platform.
1023
1024config OXP_EC
1025	tristate "OneXPlayer EC platform control"
1026	depends on ACPI_EC
1027	depends on ACPI_BATTERY
1028	depends on HWMON
1029	depends on X86
1030	help
1031		Enables support for the platform EC of OneXPlayer and AOKZOE
1032		handheld devices. This includes fan speed, fan controls, and
1033		disabling the default TDP behavior of the device. Due to legacy
1034		reasons, this driver also provides hwmon functionality to Ayaneo
1035		devices and the OrangePi Neo.
1036
1037source "drivers/platform/x86/tuxedo/Kconfig"
1038
1039endif # X86_PLATFORM_DEVICES
1040
1041config P2SB
1042	bool
1043	depends on PCI && X86
1044	help
1045	  The Primary to Sideband (P2SB) bridge is an interface to some
1046	  PCI devices connected through it. In particular, SPI NOR controller
1047	  in Intel Apollo Lake SoC is one of such devices.
1048
1049	  The main purpose of this library is to unhide P2SB device in case
1050	  firmware kept it hidden on some platforms in order to access devices
1051	  behind it.
1052