]> Git Repo - linux.git/blob - drivers/platform/surface/Kconfig
Merge git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next
[linux.git] / drivers / platform / surface / Kconfig
1 # SPDX-License-Identifier: GPL-2.0-only
2 #
3 # Microsoft Surface Platform-Specific Drivers
4 #
5
6 menuconfig 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
17 if SURFACE_PLATFORMS
18
19 config 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
31 config 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
37 config 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
44 config SURFACE_ACPI_NOTIFY
45         tristate "Surface ACPI Notify Driver"
46         depends on SURFACE_AGGREGATOR
47         help
48           Surface ACPI Notify (SAN) driver for Microsoft Surface devices.
49
50           This driver provides support for the ACPI interface (called SAN) of
51           the Surface System Aggregator Module (SSAM) EC. This interface is used
52           on 5th- and 6th-generation Microsoft Surface devices (including
53           Surface Pro 5 and 6, Surface Book 2, Surface Laptops 1 and 2, and in
54           reduced functionality on the Surface Laptop 3) to execute SSAM
55           requests directly from ACPI code, as well as receive SSAM events and
56           turn them into ACPI notifications. It essentially acts as a
57           translation layer between the SSAM controller and ACPI.
58
59           Specifically, this driver may be needed for battery status reporting,
60           thermal sensor access, and real-time clock information, depending on
61           the Surface device in question.
62
63 config SURFACE_AGGREGATOR_CDEV
64         tristate "Surface System Aggregator Module User-Space Interface"
65         depends on SURFACE_AGGREGATOR
66         help
67           Provides a misc-device interface to the Surface System Aggregator
68           Module (SSAM) controller.
69
70           This option provides a module (called surface_aggregator_cdev), that,
71           when loaded, will add a client device (and its respective driver) to
72           the SSAM controller. Said client device manages a misc-device
73           interface (/dev/surface/aggregator), which can be used by user-space
74           tools to directly communicate with the SSAM EC by sending requests and
75           receiving the corresponding responses.
76
77           The provided interface is intended for debugging and development only,
78           and should not be used otherwise.
79
80 config SURFACE_GPE
81         tristate "Surface GPE/Lid Support Driver"
82         depends on DMI
83         help
84           This driver marks the GPEs related to the ACPI lid device found on
85           Microsoft Surface devices as wakeup sources and prepares them
86           accordingly. It is required on those devices to allow wake-ups from
87           suspend by opening the lid.
88
89 config SURFACE_HOTPLUG
90         tristate "Surface Hot-Plug Driver"
91         depends on GPIOLIB
92         help
93           Driver for out-of-band hot-plug event signaling on Microsoft Surface
94           devices with hot-pluggable PCIe cards.
95
96           This driver is used on Surface Book (2 and 3) devices with a
97           hot-pluggable discrete GPU (dGPU). When not in use, the dGPU on those
98           devices can enter D3cold, which prevents in-band (standard) PCIe
99           hot-plug signaling. Thus, without this driver, detaching the base
100           containing the dGPU will not correctly update the state of the
101           corresponding PCIe device if it is in D3cold. This driver adds support
102           for out-of-band hot-plug notifications, ensuring that the device state
103           is properly updated even when the device in question is in D3cold.
104
105           Select M or Y here, if you want to (fully) support hot-plugging of
106           dGPU devices on the Surface Book 2 and/or 3 during D3cold.
107
108 config SURFACE_PRO3_BUTTON
109         tristate "Power/home/volume buttons driver for Microsoft Surface Pro 3/4 tablet"
110         depends on INPUT
111         help
112           This driver handles the power/home/volume buttons on the Microsoft Surface Pro 3/4 tablet.
113
114 source "drivers/platform/surface/aggregator/Kconfig"
115
116 endif # SURFACE_PLATFORMS
This page took 0.035858 seconds and 4 git commands to generate.