mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH 0/5] platform/surface: aggregator_registry: Add Support for various devices
@ 2024-08-11 13:19 Maximilian Luz
  2024-08-11 13:19 ` [PATCH 1/5] platform/surface: aggregator_registry: Add Support for Surface Pro 10 Maximilian Luz
                   ` (5 more replies)
  0 siblings, 6 replies; 7+ messages in thread
From: Maximilian Luz @ 2024-08-11 13:19 UTC (permalink / raw)
  To: Hans de Goede, Ilpo Järvinen
  Cc: platform-driver-x86, linux-kernel, Maximilian Luz

This series is basically a collection of SAM device enablement patches,
for which I only now found the time to clean them up end send them in.
It adds Surface SAM support (enabling battery status, keyboard,
touchpad, and more) for the following devices:

 - Surface Pro 10
 - Surface Laptop Go 3
 - Surface Laptop Studio 2
 - Surface Laptop 6

In addition, this series enables the thermal sensor as well as fan
(profile) control and monitoring on the Surface Laptop 5.

Maximilian Luz (5):
  platform/surface: aggregator_registry: Add Support for Surface Pro 10
  platform/surface: aggregator_registry: Add support for Surface Laptop
    Go 3
  platform/surface: aggregator_registry: Add support for Surface Laptop
    Studio 2
  platform/surface: aggregator_registry: Add fan and thermal sensor
    support for Surface Laptop 5
  platform/surface: aggregator_registry: Add support for Surface Laptop
    6

 .../surface/surface_aggregator_registry.c     | 58 +++++++++++++++++--
 1 file changed, 52 insertions(+), 6 deletions(-)

-- 
2.46.0


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH 1/5] platform/surface: aggregator_registry: Add Support for Surface Pro 10
  2024-08-11 13:19 [PATCH 0/5] platform/surface: aggregator_registry: Add Support for various devices Maximilian Luz
@ 2024-08-11 13:19 ` Maximilian Luz
  2024-08-11 13:19 ` [PATCH 2/5] platform/surface: aggregator_registry: Add support for Surface Laptop Go 3 Maximilian Luz
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: Maximilian Luz @ 2024-08-11 13:19 UTC (permalink / raw)
  To: Hans de Goede, Ilpo Järvinen
  Cc: platform-driver-x86, linux-kernel, Maximilian Luz

Add SAM client device nodes for the Surface Pro 10. It seems to use the
same SAM client devices as the Surface Pro 9, so re-use its node group.

Signed-off-by: Maximilian Luz <luzmaximilian@gmail.com>
---
 drivers/platform/surface/surface_aggregator_registry.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/platform/surface/surface_aggregator_registry.c b/drivers/platform/surface/surface_aggregator_registry.c
index 1c4d74db08c9..fa5b896e5f4e 100644
--- a/drivers/platform/surface/surface_aggregator_registry.c
+++ b/drivers/platform/surface/surface_aggregator_registry.c
@@ -324,7 +324,7 @@ static const struct software_node *ssam_node_group_sp8[] = {
 	NULL,
 };
 
-/* Devices for Surface Pro 9 */
+/* Devices for Surface Pro 9 and 10 */
 static const struct software_node *ssam_node_group_sp9[] = {
 	&ssam_node_root,
 	&ssam_node_hub_kip,
@@ -365,6 +365,9 @@ static const struct acpi_device_id ssam_platform_hub_match[] = {
 	/* Surface Pro 9 */
 	{ "MSHW0343", (unsigned long)ssam_node_group_sp9 },
 
+	/* Surface Pro 10 */
+	{ "MSHW0510", (unsigned long)ssam_node_group_sp9 },
+
 	/* Surface Book 2 */
 	{ "MSHW0107", (unsigned long)ssam_node_group_gen5 },
 
-- 
2.46.0


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH 2/5] platform/surface: aggregator_registry: Add support for Surface Laptop Go 3
  2024-08-11 13:19 [PATCH 0/5] platform/surface: aggregator_registry: Add Support for various devices Maximilian Luz
  2024-08-11 13:19 ` [PATCH 1/5] platform/surface: aggregator_registry: Add Support for Surface Pro 10 Maximilian Luz
@ 2024-08-11 13:19 ` Maximilian Luz
  2024-08-11 13:19 ` [PATCH 3/5] platform/surface: aggregator_registry: Add support for Surface Laptop Studio 2 Maximilian Luz
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: Maximilian Luz @ 2024-08-11 13:19 UTC (permalink / raw)
  To: Hans de Goede, Ilpo Järvinen
  Cc: platform-driver-x86, linux-kernel, Maximilian Luz

Add SAM client device nodes for the Surface Laptop Go 3. It seems to use
the same SAM client devices as the Surface Laptop Go 1 and 2, so re-use
their node group.

Signed-off-by: Maximilian Luz <luzmaximilian@gmail.com>
---
 drivers/platform/surface/surface_aggregator_registry.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/platform/surface/surface_aggregator_registry.c b/drivers/platform/surface/surface_aggregator_registry.c
index fa5b896e5f4e..4d36810c2308 100644
--- a/drivers/platform/surface/surface_aggregator_registry.c
+++ b/drivers/platform/surface/surface_aggregator_registry.c
@@ -398,6 +398,9 @@ static const struct acpi_device_id ssam_platform_hub_match[] = {
 	/* Surface Laptop Go 2 */
 	{ "MSHW0290", (unsigned long)ssam_node_group_slg1 },
 
+	/* Surface Laptop Go 3 */
+	{ "MSHW0440", (unsigned long)ssam_node_group_slg1 },
+
 	/* Surface Laptop Studio */
 	{ "MSHW0123", (unsigned long)ssam_node_group_sls },
 
-- 
2.46.0


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH 3/5] platform/surface: aggregator_registry: Add support for Surface Laptop Studio 2
  2024-08-11 13:19 [PATCH 0/5] platform/surface: aggregator_registry: Add Support for various devices Maximilian Luz
  2024-08-11 13:19 ` [PATCH 1/5] platform/surface: aggregator_registry: Add Support for Surface Pro 10 Maximilian Luz
  2024-08-11 13:19 ` [PATCH 2/5] platform/surface: aggregator_registry: Add support for Surface Laptop Go 3 Maximilian Luz
@ 2024-08-11 13:19 ` Maximilian Luz
  2024-08-11 13:19 ` [PATCH 4/5] platform/surface: aggregator_registry: Add fan and thermal sensor support for Surface Laptop 5 Maximilian Luz
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: Maximilian Luz @ 2024-08-11 13:19 UTC (permalink / raw)
  To: Hans de Goede, Ilpo Järvinen
  Cc: platform-driver-x86, linux-kernel, Maximilian Luz

Add SAM client device nodes for the Surface Laptop Studio 2 (SLS2). The
SLS2 is quite similar to the SLS1, but it does not provide the touchpad
as a SAM-HID device. Therefore, add a new node group for the SLS2 and
update the comments accordingly. In addition, it uses the new fan
control interface.

Signed-off-by: Maximilian Luz <luzmaximilian@gmail.com>
---
 .../surface/surface_aggregator_registry.c     | 27 ++++++++++++++++---
 1 file changed, 23 insertions(+), 4 deletions(-)

diff --git a/drivers/platform/surface/surface_aggregator_registry.c b/drivers/platform/surface/surface_aggregator_registry.c
index 4d36810c2308..892ba9549f6a 100644
--- a/drivers/platform/surface/surface_aggregator_registry.c
+++ b/drivers/platform/surface/surface_aggregator_registry.c
@@ -273,8 +273,8 @@ static const struct software_node *ssam_node_group_sl5[] = {
 	NULL,
 };
 
-/* Devices for Surface Laptop Studio. */
-static const struct software_node *ssam_node_group_sls[] = {
+/* Devices for Surface Laptop Studio 1. */
+static const struct software_node *ssam_node_group_sls1[] = {
 	&ssam_node_root,
 	&ssam_node_bat_ac,
 	&ssam_node_bat_main,
@@ -289,6 +289,22 @@ static const struct software_node *ssam_node_group_sls[] = {
 	NULL,
 };
 
+/* Devices for Surface Laptop Studio 2. */
+static const struct software_node *ssam_node_group_sls2[] = {
+	&ssam_node_root,
+	&ssam_node_bat_ac,
+	&ssam_node_bat_main,
+	&ssam_node_tmp_perf_profile_with_fan,
+	&ssam_node_tmp_sensors,
+	&ssam_node_fan_speed,
+	&ssam_node_pos_tablet_switch,
+	&ssam_node_hid_sam_keyboard,
+	&ssam_node_hid_sam_penstash,
+	&ssam_node_hid_sam_sensors,
+	&ssam_node_hid_sam_ucm_ucsi,
+	NULL,
+};
+
 /* Devices for Surface Laptop Go. */
 static const struct software_node *ssam_node_group_slg1[] = {
 	&ssam_node_root,
@@ -401,8 +417,11 @@ static const struct acpi_device_id ssam_platform_hub_match[] = {
 	/* Surface Laptop Go 3 */
 	{ "MSHW0440", (unsigned long)ssam_node_group_slg1 },
 
-	/* Surface Laptop Studio */
-	{ "MSHW0123", (unsigned long)ssam_node_group_sls },
+	/* Surface Laptop Studio 1 */
+	{ "MSHW0123", (unsigned long)ssam_node_group_sls1 },
+
+	/* Surface Laptop Studio 2 */
+	{ "MSHW0360", (unsigned long)ssam_node_group_sls2 },
 
 	{ },
 };
-- 
2.46.0


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH 4/5] platform/surface: aggregator_registry: Add fan and thermal sensor support for Surface Laptop 5
  2024-08-11 13:19 [PATCH 0/5] platform/surface: aggregator_registry: Add Support for various devices Maximilian Luz
                   ` (2 preceding siblings ...)
  2024-08-11 13:19 ` [PATCH 3/5] platform/surface: aggregator_registry: Add support for Surface Laptop Studio 2 Maximilian Luz
@ 2024-08-11 13:19 ` Maximilian Luz
  2024-08-11 13:19 ` [PATCH 5/5] platform/surface: aggregator_registry: Add support for Surface Laptop 6 Maximilian Luz
  2024-08-13  8:21 ` [PATCH 0/5] platform/surface: aggregator_registry: Add Support for various devices Ilpo Järvinen
  5 siblings, 0 replies; 7+ messages in thread
From: Maximilian Luz @ 2024-08-11 13:19 UTC (permalink / raw)
  To: Hans de Goede, Ilpo Järvinen
  Cc: platform-driver-x86, linux-kernel, Maximilian Luz

The EC on the Surface Laptop 5 exposes the fan interface. With the
recently introduced driver for it, we can now also enable it here. In
addition, also enable the thermal sensor interface.

Signed-off-by: Maximilian Luz <luzmaximilian@gmail.com>
---
 drivers/platform/surface/surface_aggregator_registry.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/platform/surface/surface_aggregator_registry.c b/drivers/platform/surface/surface_aggregator_registry.c
index 892ba9549f6a..4d3f5b3111ba 100644
--- a/drivers/platform/surface/surface_aggregator_registry.c
+++ b/drivers/platform/surface/surface_aggregator_registry.c
@@ -265,7 +265,9 @@ static const struct software_node *ssam_node_group_sl5[] = {
 	&ssam_node_root,
 	&ssam_node_bat_ac,
 	&ssam_node_bat_main,
-	&ssam_node_tmp_perf_profile,
+	&ssam_node_tmp_perf_profile_with_fan,
+	&ssam_node_tmp_sensors,
+	&ssam_node_fan_speed,
 	&ssam_node_hid_main_keyboard,
 	&ssam_node_hid_main_touchpad,
 	&ssam_node_hid_main_iid5,
-- 
2.46.0


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH 5/5] platform/surface: aggregator_registry: Add support for Surface Laptop 6
  2024-08-11 13:19 [PATCH 0/5] platform/surface: aggregator_registry: Add Support for various devices Maximilian Luz
                   ` (3 preceding siblings ...)
  2024-08-11 13:19 ` [PATCH 4/5] platform/surface: aggregator_registry: Add fan and thermal sensor support for Surface Laptop 5 Maximilian Luz
@ 2024-08-11 13:19 ` Maximilian Luz
  2024-08-13  8:21 ` [PATCH 0/5] platform/surface: aggregator_registry: Add Support for various devices Ilpo Järvinen
  5 siblings, 0 replies; 7+ messages in thread
From: Maximilian Luz @ 2024-08-11 13:19 UTC (permalink / raw)
  To: Hans de Goede, Ilpo Järvinen
  Cc: platform-driver-x86, linux-kernel, Maximilian Luz

Add SAM client device nodes for the Surface Laptop Studio 6 (SL6). The
SL6 is similar to the SL5, with the typical battery/AC, platform
profile, and HID nodes. It also has support for the newly supported fan
interface.

Signed-off-by: Maximilian Luz <luzmaximilian@gmail.com>
---
 .../surface/surface_aggregator_registry.c     | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/drivers/platform/surface/surface_aggregator_registry.c b/drivers/platform/surface/surface_aggregator_registry.c
index 4d3f5b3111ba..a23dff35f8ca 100644
--- a/drivers/platform/surface/surface_aggregator_registry.c
+++ b/drivers/platform/surface/surface_aggregator_registry.c
@@ -275,6 +275,22 @@ static const struct software_node *ssam_node_group_sl5[] = {
 	NULL,
 };
 
+/* Devices for Surface Laptop 6. */
+static const struct software_node *ssam_node_group_sl6[] = {
+	&ssam_node_root,
+	&ssam_node_bat_ac,
+	&ssam_node_bat_main,
+	&ssam_node_tmp_perf_profile_with_fan,
+	&ssam_node_tmp_sensors,
+	&ssam_node_fan_speed,
+	&ssam_node_hid_main_keyboard,
+	&ssam_node_hid_main_touchpad,
+	&ssam_node_hid_main_iid5,
+	&ssam_node_hid_sam_sensors,
+	&ssam_node_hid_sam_ucm_ucsi,
+	NULL,
+};
+
 /* Devices for Surface Laptop Studio 1. */
 static const struct software_node *ssam_node_group_sls1[] = {
 	&ssam_node_root,
@@ -410,6 +426,9 @@ static const struct acpi_device_id ssam_platform_hub_match[] = {
 	/* Surface Laptop 5 */
 	{ "MSHW0350", (unsigned long)ssam_node_group_sl5 },
 
+	/* Surface Laptop 6 */
+	{ "MSHW0530", (unsigned long)ssam_node_group_sl6 },
+
 	/* Surface Laptop Go 1 */
 	{ "MSHW0118", (unsigned long)ssam_node_group_slg1 },
 
-- 
2.46.0


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 0/5] platform/surface: aggregator_registry: Add Support for various devices
  2024-08-11 13:19 [PATCH 0/5] platform/surface: aggregator_registry: Add Support for various devices Maximilian Luz
                   ` (4 preceding siblings ...)
  2024-08-11 13:19 ` [PATCH 5/5] platform/surface: aggregator_registry: Add support for Surface Laptop 6 Maximilian Luz
@ 2024-08-13  8:21 ` Ilpo Järvinen
  5 siblings, 0 replies; 7+ messages in thread
From: Ilpo Järvinen @ 2024-08-13  8:21 UTC (permalink / raw)
  To: Hans de Goede, Maximilian Luz; +Cc: platform-driver-x86, linux-kernel

On Sun, 11 Aug 2024 15:19:43 +0200, Maximilian Luz wrote:

> This series is basically a collection of SAM device enablement patches,
> for which I only now found the time to clean them up end send them in.
> It adds Surface SAM support (enabling battery status, keyboard,
> touchpad, and more) for the following devices:
> 
>  - Surface Pro 10
>  - Surface Laptop Go 3
>  - Surface Laptop Studio 2
>  - Surface Laptop 6
> 
> [...]


Thank you for your contribution, it has been applied to my local
review-ilpo branch. Note it will show up in the public
platform-drivers-x86/review-ilpo branch only once I've pushed my
local branch there, which might take a while.

The list of commits applied:
[1/5] platform/surface: aggregator_registry: Add Support for Surface Pro 10
      commit: 9c8e022567bbec53bee8ae75c44b3d6cd2080d42
[2/5] platform/surface: aggregator_registry: Add support for Surface Laptop Go 3
      commit: ed235163c3f02329d5e37ed4485bbc39ed2568d4
[3/5] platform/surface: aggregator_registry: Add support for Surface Laptop Studio 2
      commit: 28d04b4a2cc20981c95787f9c449e6fc51d904f9
[4/5] platform/surface: aggregator_registry: Add fan and thermal sensor support for Surface Laptop 5
      commit: 002adda09bc1c983c75c82a7e12285c7423aec31
[5/5] platform/surface: aggregator_registry: Add support for Surface Laptop 6
      commit: 99ae7b9ba047ad029a0a23b2bd51608ce79c8e97

--
 i.


^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2024-08-13  8:21 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-08-11 13:19 [PATCH 0/5] platform/surface: aggregator_registry: Add Support for various devices Maximilian Luz
2024-08-11 13:19 ` [PATCH 1/5] platform/surface: aggregator_registry: Add Support for Surface Pro 10 Maximilian Luz
2024-08-11 13:19 ` [PATCH 2/5] platform/surface: aggregator_registry: Add support for Surface Laptop Go 3 Maximilian Luz
2024-08-11 13:19 ` [PATCH 3/5] platform/surface: aggregator_registry: Add support for Surface Laptop Studio 2 Maximilian Luz
2024-08-11 13:19 ` [PATCH 4/5] platform/surface: aggregator_registry: Add fan and thermal sensor support for Surface Laptop 5 Maximilian Luz
2024-08-11 13:19 ` [PATCH 5/5] platform/surface: aggregator_registry: Add support for Surface Laptop 6 Maximilian Luz
2024-08-13  8:21 ` [PATCH 0/5] platform/surface: aggregator_registry: Add Support for various devices Ilpo Järvinen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®