Commit 061c2289 authored by Maximilian Luz's avatar Maximilian Luz Committed by Hans de Goede
Browse files

platform/surface: aggregator_tabletsw: Add support for book mode in POS subsystem



Devices with a type-cover have an additional "book" mode, deactivating
type-cover input and turning off its backlight. This is currently
unsupported, leading to the warning

  surface_aggregator_tablet_mode_switch 01:26:01:00:01: unknown device posture for type-cover: 6

Therefore, add support for this state and map it to enable tablet-mode.

Fixes: 37ff64cd ("platform/surface: aggregator_tabletsw: Add support for Type-Cover posture source")
Signed-off-by: default avatarMaximilian Luz <luzmaximilian@gmail.com>
Link: https://lore.kernel.org/r/20230525213218.2797480-3-luzmaximilian@gmail.com


Reviewed-by: default avatarHans de Goede <hdegoede@redhat.com>
Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
parent 9bed6670
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -340,6 +340,7 @@ enum ssam_pos_state_cover {
	SSAM_POS_COVER_LAPTOP        = 0x03,
	SSAM_POS_COVER_FOLDED_CANVAS = 0x04,
	SSAM_POS_COVER_FOLDED_BACK   = 0x05,
	SSAM_POS_COVER_BOOK          = 0x06,
};

enum ssam_pos_state_sls {
@@ -372,6 +373,9 @@ static const char *ssam_pos_state_name_cover(struct ssam_tablet_sw *sw, u32 stat
	case SSAM_POS_COVER_FOLDED_BACK:
		return "folded-back";

	case SSAM_POS_COVER_BOOK:
		return "book";

	default:
		dev_warn(&sw->sdev->dev, "unknown device posture for type-cover: %u\n", state);
		return "<unknown>";
@@ -421,6 +425,7 @@ static bool ssam_pos_state_is_tablet_mode_cover(struct ssam_tablet_sw *sw, u32 s
	case SSAM_POS_COVER_DISCONNECTED:
	case SSAM_POS_COVER_FOLDED_CANVAS:
	case SSAM_POS_COVER_FOLDED_BACK:
	case SSAM_POS_COVER_BOOK:
		return true;

	case SSAM_POS_COVER_CLOSED: