mbox series

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

Message ID 20220624183642.910893-1-luzmaximilian@gmail.com (mailing list archive)
Headers show
Series platform/surface: Add support for tablet mode switch via Surface Aggregator Module | expand

Message

Maximilian Luz June 24, 2022, 6:36 p.m. UTC
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

Comments

Hans de Goede July 2, 2022, 9:13 a.m. UTC | #1
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
>