platform/surface: aggregator_registry: Add support for Surface Laptop 5

Message ID 20221115231440.1338142-1-luzmaximilian@gmail.com
State New
Headers
Series platform/surface: aggregator_registry: Add support for Surface Laptop 5 |

Commit Message

Maximilian Luz Nov. 15, 2022, 11:14 p.m. UTC
  Add device nodes to enable support for battery and charger status, the
ACPI platform profile, as well as internal HID devices (including
touchpad and keyboard) on the Surface Laptop 5.

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

Comments

Hans de Goede Nov. 16, 2022, 7:44 a.m. UTC | #1
Hi,

On 11/16/22 00:14, Maximilian Luz wrote:
> Add device nodes to enable support for battery and charger status, the
> ACPI platform profile, as well as internal HID devices (including
> touchpad and keyboard) on the Surface Laptop 5.
> 
> Signed-off-by: Maximilian Luz <luzmaximilian@gmail.com>

Thank you for your patch, I've applied this patch to my fixes
branch:
https://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86.git/log/?h=fixes

Note it will show up in my fixes branch once I've pushed my
local branch there, which might take a while.

I will include this patch in my next fixes pull-req to Linus
for the current kernel development cycle.

Regards,

Hans



> ---
>  .../surface/surface_aggregator_registry.c        | 16 ++++++++++++++++
>  1 file changed, 16 insertions(+)
> 
> diff --git a/drivers/platform/surface/surface_aggregator_registry.c b/drivers/platform/surface/surface_aggregator_registry.c
> index db82c2a7c567..023f126121d7 100644
> --- a/drivers/platform/surface/surface_aggregator_registry.c
> +++ b/drivers/platform/surface/surface_aggregator_registry.c
> @@ -234,6 +234,19 @@ static const struct software_node *ssam_node_group_sl3[] = {
>  	NULL,
>  };
>  
> +/* Devices for Surface Laptop 5. */
> +static const struct software_node *ssam_node_group_sl5[] = {
> +	&ssam_node_root,
> +	&ssam_node_bat_ac,
> +	&ssam_node_bat_main,
> +	&ssam_node_tmp_pprof,
> +	&ssam_node_hid_main_keyboard,
> +	&ssam_node_hid_main_touchpad,
> +	&ssam_node_hid_main_iid5,
> +	&ssam_node_hid_sam_ucm_ucsi,
> +	NULL,
> +};
> +
>  /* Devices for Surface Laptop Studio. */
>  static const struct software_node *ssam_node_group_sls[] = {
>  	&ssam_node_root,
> @@ -345,6 +358,9 @@ static const struct acpi_device_id ssam_platform_hub_match[] = {
>  	/* Surface Laptop 4 (13", Intel) */
>  	{ "MSHW0250", (unsigned long)ssam_node_group_sl3 },
>  
> +	/* Surface Laptop 5 */
> +	{ "MSHW0350", (unsigned long)ssam_node_group_sl5 },
> +
>  	/* Surface Laptop Go 1 */
>  	{ "MSHW0118", (unsigned long)ssam_node_group_slg1 },
>
  

Patch

diff --git a/drivers/platform/surface/surface_aggregator_registry.c b/drivers/platform/surface/surface_aggregator_registry.c
index db82c2a7c567..023f126121d7 100644
--- a/drivers/platform/surface/surface_aggregator_registry.c
+++ b/drivers/platform/surface/surface_aggregator_registry.c
@@ -234,6 +234,19 @@  static const struct software_node *ssam_node_group_sl3[] = {
 	NULL,
 };
 
+/* Devices for Surface Laptop 5. */
+static const struct software_node *ssam_node_group_sl5[] = {
+	&ssam_node_root,
+	&ssam_node_bat_ac,
+	&ssam_node_bat_main,
+	&ssam_node_tmp_pprof,
+	&ssam_node_hid_main_keyboard,
+	&ssam_node_hid_main_touchpad,
+	&ssam_node_hid_main_iid5,
+	&ssam_node_hid_sam_ucm_ucsi,
+	NULL,
+};
+
 /* Devices for Surface Laptop Studio. */
 static const struct software_node *ssam_node_group_sls[] = {
 	&ssam_node_root,
@@ -345,6 +358,9 @@  static const struct acpi_device_id ssam_platform_hub_match[] = {
 	/* Surface Laptop 4 (13", Intel) */
 	{ "MSHW0250", (unsigned long)ssam_node_group_sl3 },
 
+	/* Surface Laptop 5 */
+	{ "MSHW0350", (unsigned long)ssam_node_group_sl5 },
+
 	/* Surface Laptop Go 1 */
 	{ "MSHW0118", (unsigned long)ssam_node_group_slg1 },