xref: /linux-6.15/drivers/platform/surface/Kconfig (revision 178f6ab7)
1# SPDX-License-Identifier: GPL-2.0-only
2#
3# Microsoft Surface Platform-Specific Drivers
4#
5
6menuconfig SURFACE_PLATFORMS
7	bool "Microsoft Surface Platform-Specific Device Drivers"
8	depends on ACPI
9	default y
10	help
11	  Say Y here to get to see options for platform-specific device drivers
12	  for Microsoft Surface devices. This option alone does not add any
13	  kernel code.
14
15	  If you say N, all options in this submenu will be skipped and disabled.
16
17if SURFACE_PLATFORMS
18
19config SURFACE3_WMI
20	tristate "Surface 3 WMI Driver"
21	depends on ACPI_WMI
22	depends on DMI
23	depends on INPUT
24	depends on SPI
25	help
26	  Say Y here if you have a Surface 3.
27
28	  To compile this driver as a module, choose M here: the module will
29	  be called surface3-wmi.
30
31config SURFACE_3_BUTTON
32	tristate "Power/home/volume buttons driver for Microsoft Surface 3 tablet"
33	depends on KEYBOARD_GPIO && I2C
34	help
35	  This driver handles the power/home/volume buttons on the Microsoft Surface 3 tablet.
36
37config SURFACE_3_POWER_OPREGION
38	tristate "Surface 3 battery platform operation region support"
39	depends on I2C
40	help
41	  This driver provides support for ACPI operation
42	  region of the Surface 3 battery platform driver.
43
44config SURFACE_AGGREGATOR_CDEV
45	tristate "Surface System Aggregator Module User-Space Interface"
46	depends on SURFACE_AGGREGATOR
47	help
48	  Provides a misc-device interface to the Surface System Aggregator
49	  Module (SSAM) controller.
50
51	  This option provides a module (called surface_aggregator_cdev), that,
52	  when loaded, will add a client device (and its respective driver) to
53	  the SSAM controller. Said client device manages a misc-device
54	  interface (/dev/surface/aggregator), which can be used by user-space
55	  tools to directly communicate with the SSAM EC by sending requests and
56	  receiving the corresponding responses.
57
58	  The provided interface is intended for debugging and development only,
59	  and should not be used otherwise.
60
61config SURFACE_GPE
62	tristate "Surface GPE/Lid Support Driver"
63	depends on DMI
64	help
65	  This driver marks the GPEs related to the ACPI lid device found on
66	  Microsoft Surface devices as wakeup sources and prepares them
67	  accordingly. It is required on those devices to allow wake-ups from
68	  suspend by opening the lid.
69
70config SURFACE_PRO3_BUTTON
71	tristate "Power/home/volume buttons driver for Microsoft Surface Pro 3/4 tablet"
72	depends on INPUT
73	help
74	  This driver handles the power/home/volume buttons on the Microsoft Surface Pro 3/4 tablet.
75
76source "drivers/platform/surface/aggregator/Kconfig"
77
78endif # SURFACE_PLATFORMS
79