]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
platform/surface: aggregator_registry: Add support for Surface Laptop Studio 2
authorMaximilian Luz <luzmaximilian@gmail.com>
Sun, 11 Aug 2024 13:19:46 +0000 (15:19 +0200)
committerIlpo Järvinen <ilpo.jarvinen@linux.intel.com>
Tue, 13 Aug 2024 08:01:16 +0000 (11:01 +0300)
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>
Link: https://lore.kernel.org/r/20240811131948.261806-4-luzmaximilian@gmail.com
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
drivers/platform/surface/surface_aggregator_registry.c

index 4d36810c23082f6fe757adfc678d575e0c401fa7..892ba9549f6a9df04af679a799dd616f0c119591 100644 (file)
@@ -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 },
 
        { },
 };