Hi,
On 3/8/21 7:48 PM, Maximilian Luz wrote:
The Microsoft Surface Book series devices consist of a so-called
clipboard part (containing the CPU, touchscreen, and primary battery)
and a base part (containing keyboard, secondary battery, and optional
discrete GPU). These parts can be separated, i.e. the clipboard can be
detached and used as tablet.
This detachment process is managed by a subsystem of the Surface System
Aggregator Module (SSAM). As that process is a bit more complex, i.e.
can involve user interaction, it seems the best way to implement this is
to provide a somewhat cleaned-up version of this interface to userspace.
This series adds a driver (and documentation) for the detachment system
which provides such an interface. See the commit message of the first
patch for more details and a link to a user-space daemon using this
interface. Support for the Surface Book 3 is added in patch 2,
user-space API documentation in patch 3.
Thank you for your patch-series, I've applied the series to my
review-hans branch:
https://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86.git/log/?h=review-hans
Note it will show up in my review-hans branch once I've pushed my
local branch there, which might take a while.
Once I've run some tests on this branch the patches there will be
added to the platform-drivers-x86/for-next branch and eventually
will be included in the pdx86 pull-request to Linus for the next
merge-window.
Regards,
Hans
Regards,
Max
Maximilian Luz (3):
platform/surface: Add DTX driver
platform/surface: dtx: Add support for native SSAM devices
docs: driver-api: Add Surface DTX driver documentation
.../surface_aggregator/clients/dtx.rst | 718 +++++++++
.../surface_aggregator/clients/index.rst | 1 +
.../userspace-api/ioctl/ioctl-number.rst | 2 +
MAINTAINERS | 8 +
drivers/platform/surface/Kconfig | 20 +
drivers/platform/surface/Makefile | 1 +
drivers/platform/surface/surface_dtx.c | 1289 +++++++++++++++++
include/uapi/linux/surface_aggregator/dtx.h | 146 ++
8 files changed, 2185 insertions(+)
create mode 100644 Documentation/driver-api/surface_aggregator/clients/dtx.rst
create mode 100644 drivers/platform/surface/surface_dtx.c
create mode 100644 include/uapi/linux/surface_aggregator/dtx.h