mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-16 15:34:48 +08:00
178f6ab77e
Add a misc-device providing user-space access to the Surface Aggregator EC, mainly intended for debugging, testing, and reverse-engineering. This interface gives user-space applications the ability to send requests to the EC and receive the corresponding responses. The device-file is managed by a pseudo platform-device and corresponding driver to avoid dependence on the dedicated bus, allowing it to be loaded in a minimal configuration. A python library and scripts to access this device can be found at [1]. [1]: https://github.com/linux-surface/surface-aggregator-module/tree/master/scripts/ssam Signed-off-by: Maximilian Luz <luzmaximilian@gmail.com> Link: https://lore.kernel.org/r/20201221183959.1186143-9-luzmaximilian@gmail.com Signed-off-by: Hans de Goede <hdegoede@redhat.com>
79 lines
2.5 KiB
Plaintext
79 lines
2.5 KiB
Plaintext
# SPDX-License-Identifier: GPL-2.0-only
|
|
#
|
|
# Microsoft Surface Platform-Specific Drivers
|
|
#
|
|
|
|
menuconfig SURFACE_PLATFORMS
|
|
bool "Microsoft Surface Platform-Specific Device Drivers"
|
|
depends on ACPI
|
|
default y
|
|
help
|
|
Say Y here to get to see options for platform-specific device drivers
|
|
for Microsoft Surface devices. This option alone does not add any
|
|
kernel code.
|
|
|
|
If you say N, all options in this submenu will be skipped and disabled.
|
|
|
|
if SURFACE_PLATFORMS
|
|
|
|
config SURFACE3_WMI
|
|
tristate "Surface 3 WMI Driver"
|
|
depends on ACPI_WMI
|
|
depends on DMI
|
|
depends on INPUT
|
|
depends on SPI
|
|
help
|
|
Say Y here if you have a Surface 3.
|
|
|
|
To compile this driver as a module, choose M here: the module will
|
|
be called surface3-wmi.
|
|
|
|
config SURFACE_3_BUTTON
|
|
tristate "Power/home/volume buttons driver for Microsoft Surface 3 tablet"
|
|
depends on KEYBOARD_GPIO && I2C
|
|
help
|
|
This driver handles the power/home/volume buttons on the Microsoft Surface 3 tablet.
|
|
|
|
config SURFACE_3_POWER_OPREGION
|
|
tristate "Surface 3 battery platform operation region support"
|
|
depends on I2C
|
|
help
|
|
This driver provides support for ACPI operation
|
|
region of the Surface 3 battery platform driver.
|
|
|
|
config SURFACE_AGGREGATOR_CDEV
|
|
tristate "Surface System Aggregator Module User-Space Interface"
|
|
depends on SURFACE_AGGREGATOR
|
|
help
|
|
Provides a misc-device interface to the Surface System Aggregator
|
|
Module (SSAM) controller.
|
|
|
|
This option provides a module (called surface_aggregator_cdev), that,
|
|
when loaded, will add a client device (and its respective driver) to
|
|
the SSAM controller. Said client device manages a misc-device
|
|
interface (/dev/surface/aggregator), which can be used by user-space
|
|
tools to directly communicate with the SSAM EC by sending requests and
|
|
receiving the corresponding responses.
|
|
|
|
The provided interface is intended for debugging and development only,
|
|
and should not be used otherwise.
|
|
|
|
config SURFACE_GPE
|
|
tristate "Surface GPE/Lid Support Driver"
|
|
depends on DMI
|
|
help
|
|
This driver marks the GPEs related to the ACPI lid device found on
|
|
Microsoft Surface devices as wakeup sources and prepares them
|
|
accordingly. It is required on those devices to allow wake-ups from
|
|
suspend by opening the lid.
|
|
|
|
config SURFACE_PRO3_BUTTON
|
|
tristate "Power/home/volume buttons driver for Microsoft Surface Pro 3/4 tablet"
|
|
depends on INPUT
|
|
help
|
|
This driver handles the power/home/volume buttons on the Microsoft Surface Pro 3/4 tablet.
|
|
|
|
source "drivers/platform/surface/aggregator/Kconfig"
|
|
|
|
endif # SURFACE_PLATFORMS
|