platform/surface: aggregator_registry: Add support for Surface Laptop 5
Commit Message
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
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 },
>
@@ -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 },