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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Index of Archives]     [Linux Kernel Development]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux