platform/surface: Add Surface Aggregator user-space interface
authorMaximilian Luz <luzmaximilian@gmail.com>
Mon, 21 Dec 2020 18:39:58 +0000 (19:39 +0100)
committerHans de Goede <hdegoede@redhat.com>
Wed, 6 Jan 2021 23:06:39 +0000 (00:06 +0100)
commit178f6ab77e617c984d6520b92e747075a12676ff
tree854f50b2ce73d3384dc268be6f5476e42c4b6b73
parent8d7792823da4abd799d63aaceb23805203a5419e
platform/surface: Add Surface Aggregator user-space interface

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>
Documentation/driver-api/surface_aggregator/clients/cdev.rst [new file with mode: 0644]
Documentation/driver-api/surface_aggregator/clients/index.rst
Documentation/userspace-api/ioctl/ioctl-number.rst
MAINTAINERS
drivers/platform/surface/Kconfig
drivers/platform/surface/Makefile
drivers/platform/surface/surface_aggregator_cdev.c [new file with mode: 0644]
include/uapi/linux/surface_aggregator/cdev.h [new file with mode: 0644]