Re: [PATCH 0/4] platform/surface: Add support for tablet mode switch via Surface Aggregator Module

From: Hans de Goede
Date: Sat Jul 02 2022 - 05:13:58 EST


Hi,

On 6/24/22 20:36, Maximilian Luz wrote:
> This series adds a driver providing a tablet mode switch on the Surface
> Pro 8, Surface Pro X, and Surface Laptop Studio.
>
> These devices provide posture information via subsystems of the Surface
> Aggregator Module (SAM; embedded controller). While the specific
> subsystems used for the Pro and Laptop models differ, large parts of the
> respective subsystem drivers would be equal. Therefore, we essentially
> provide a generic framework for tablet-mode switches via the Surface
> Aggregator module and use that to implement specific support for the KIP
> and POS subsystems used on the aforementioned devices.
>
> In addition, this series first introduces some helper macros for
> synchronous stack-allocated SAM requests used in the subsequent patches,
> extending the already existing ones.
>
> Further, this series adds the respective firmware nodes to the Surface
> Aggregator Registry.

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



>
> Maximilian Luz (4):
> platform/surface: aggregator: Add helper macros for requests with
> argument and return value
> platform/surface: Add KIP/POS tablet-mode switch driver
> platform/surface: aggregator_registry: Add support for tablet mode
> switch on Surface Pro 8
> platform/surface: aggregator_registry: Add support for tablet mode
> switch on Surface Laptop Studio
>
> .../sysfs-bus-surface_aggregator-tabletsw | 57 ++
> MAINTAINERS | 6 +
> drivers/platform/surface/Kconfig | 23 +
> drivers/platform/surface/Makefile | 1 +
> .../surface/surface_aggregator_registry.c | 15 +-
> .../surface/surface_aggregator_tabletsw.c | 533 ++++++++++++++++++
> include/linux/surface_aggregator/controller.h | 125 ++++
> include/linux/surface_aggregator/device.h | 36 ++
> 8 files changed, 795 insertions(+), 1 deletion(-)
> create mode 100644 Documentation/ABI/testing/sysfs-bus-surface_aggregator-tabletsw
> create mode 100644 drivers/platform/surface/surface_aggregator_tabletsw.c
>