Add the SSAM platform profile device to the SSAM device registry. This
device is accessible under the thermal subsystem (TC=0x03) and needs to
be registered for all Surface models.

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

diff --git a/drivers/platform/surface/surface_aggregator_registry.c 
b/drivers/platform/surface/surface_aggregator_registry.c
index 7e7b801bc606..913fa5cae705 100644
--- a/drivers/platform/surface/surface_aggregator_registry.c
+++ b/drivers/platform/surface/surface_aggregator_registry.c
@@ -65,9 +65,16 @@ static const struct software_node ssam_node_bat_sb3base = {
        .parent = &ssam_node_hub_base,
 };
 
+/* Platform profile / performance-mode device. */
+static const struct software_node ssam_node_tmp_pprof = {
+       .name = "ssam:01:03:01:00:01",
+       .parent = &ssam_node_root,
+};
+
 /* Devices for Surface Book 2. */
 static const struct software_node *ssam_node_group_sb2[] = {
        &ssam_node_root,
+       &ssam_node_tmp_pprof,
        NULL,
 };
 
@@ -78,18 +85,21 @@ static const struct software_node *ssam_node_group_sb3[] = {
        &ssam_node_bat_ac,
        &ssam_node_bat_main,
        &ssam_node_bat_sb3base,
+       &ssam_node_tmp_pprof,
        NULL,
 };
 
 /* Devices for Surface Laptop 1. */
 static const struct software_node *ssam_node_group_sl1[] = {
        &ssam_node_root,
+       &ssam_node_tmp_pprof,
        NULL,
 };
 
 /* Devices for Surface Laptop 2. */
 static const struct software_node *ssam_node_group_sl2[] = {
        &ssam_node_root,
+       &ssam_node_tmp_pprof,
        NULL,
 };
 
@@ -98,6 +108,7 @@ static const struct software_node *ssam_node_group_sl3[] = {
        &ssam_node_root,
        &ssam_node_bat_ac,
        &ssam_node_bat_main,
+       &ssam_node_tmp_pprof,
        NULL,
 };
 
@@ -106,18 +117,21 @@ static const struct software_node *ssam_node_group_slg1[] 
= {
        &ssam_node_root,
        &ssam_node_bat_ac,
        &ssam_node_bat_main,
+       &ssam_node_tmp_pprof,
        NULL,
 };
 
 /* Devices for Surface Pro 5. */
 static const struct software_node *ssam_node_group_sp5[] = {
        &ssam_node_root,
+       &ssam_node_tmp_pprof,
        NULL,
 };
 
 /* Devices for Surface Pro 6. */
 static const struct software_node *ssam_node_group_sp6[] = {
        &ssam_node_root,
+       &ssam_node_tmp_pprof,
        NULL,
 };
 
@@ -126,6 +140,7 @@ static const struct software_node *ssam_node_group_sp7[] = {
        &ssam_node_root,
        &ssam_node_bat_ac,
        &ssam_node_bat_main,
+       &ssam_node_tmp_pprof,
        NULL,
 };
 
-- 
2.30.0

Reply via email to