2022-06-24 19:00:21

by Maximilian Luz

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

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.

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

--
2.36.1


2022-07-02 09:36:21

by Hans de Goede

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

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
>