[PATCH 0/3] platform/surface: Add support for tablet-mode switch on Surface Pro 9

Maximilian Luz posted 3 patches 3 years, 1 month ago
.../surface/surface_aggregator_registry.c     |   2 +-
.../surface/surface_aggregator_tabletsw.c     | 180 ++++++++++++++----
2 files changed, 142 insertions(+), 40 deletions(-)
[PATCH 0/3] platform/surface: Add support for tablet-mode switch on Surface Pro 9
Posted by Maximilian Luz 3 years, 1 month ago
This series adds support for the tablet-mode switch on the Surface Pro
9. On that device, the posture subsystem (POS) can be used to query the
state of the Type-Cover (detached, laptop-mode, flipped-back, ...) and
receive notifications when it changes. We can use this to implement a
tablet mode switch, extending the driver already in use on the Surface
Laptop Studio.

More specifically, the posture subsystem allows for different posture
sources, identified by a numerical ID, each of which can have different
states. At the moment, however, the tablet-mode switch driver using the
POS subsystem only supports the Surface Laptop Studio, and support for
that is hard-coded.

To support the Surface Pro 9, we therefore need to adapt the driver to
properly disambiguate between different posture sources (patch 1) and
then implement the respective functions for the source ID representing
the Type-Cover (patch 2). Finally, we also need to add the respective
device to the Surface Pro 9 entry in the aggregator registry, to allow
the driver to load (patch 3). 

Maximilian Luz (3):
  platform/surface: aggregator_tabletsw: Properly handle different
    posture source IDs
  platform/surface: aggregator_tabletsw: Add support for Type-Cover
    posture source
  platform/surface: aggregator_registry: Add support for tablet-mode
    switch on Surface Pro 9

 .../surface/surface_aggregator_registry.c     |   2 +-
 .../surface/surface_aggregator_tabletsw.c     | 180 ++++++++++++++----
 2 files changed, 142 insertions(+), 40 deletions(-)

-- 
2.39.2
Re: [PATCH 0/3] platform/surface: Add support for tablet-mode switch on Surface Pro 9
Posted by Hans de Goede 3 years ago
Hi,

On 3/4/23 20:46, Maximilian Luz wrote:
> This series adds support for the tablet-mode switch on the Surface Pro
> 9. On that device, the posture subsystem (POS) can be used to query the
> state of the Type-Cover (detached, laptop-mode, flipped-back, ...) and
> receive notifications when it changes. We can use this to implement a
> tablet mode switch, extending the driver already in use on the Surface
> Laptop Studio.
> 
> More specifically, the posture subsystem allows for different posture
> sources, identified by a numerical ID, each of which can have different
> states. At the moment, however, the tablet-mode switch driver using the
> POS subsystem only supports the Surface Laptop Studio, and support for
> that is hard-coded.
> 
> To support the Surface Pro 9, we therefore need to adapt the driver to
> properly disambiguate between different posture sources (patch 1) and
> then implement the respective functions for the source ID representing
> the Type-Cover (patch 2). Finally, we also need to add the respective
> device to the Surface Pro 9 entry in the aggregator registry, to allow
> the driver to load (patch 3). 
> 
> Maximilian Luz (3):
>   platform/surface: aggregator_tabletsw: Properly handle different
>     posture source IDs
>   platform/surface: aggregator_tabletsw: Add support for Type-Cover
>     posture source
>   platform/surface: aggregator_registry: Add support for tablet-mode
>     switch on Surface Pro 9
> 
>  .../surface/surface_aggregator_registry.c     |   2 +-
>  .../surface/surface_aggregator_tabletsw.c     | 180 ++++++++++++++----
>  2 files changed, 142 insertions(+), 40 deletions(-)


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