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 >