Commit aebf0a11 authored by Maximilian Luz's avatar Maximilian Luz Committed by Hans de Goede

platform/surface: aggregator_registry: Add HID subsystem devices

Add HID subsystem (TC=0x15) devices. These devices need to be registered
for 7th-generation Surface models. On previous generations, these
devices are either provided as platform devices via ACPI (Surface Laptop
1 and 2) or implemented as standard USB device.
Signed-off-by: default avatarMaximilian Luz <luzmaximilian@gmail.com>
Link: https://lore.kernel.org/r/20210212115439.1525216-7-luzmaximilian@gmail.comSigned-off-by: default avatarHans de Goede <hdegoede@redhat.com>
parent f68aaf85
...@@ -77,6 +77,48 @@ static const struct software_node ssam_node_bas_dtx = { ...@@ -77,6 +77,48 @@ static const struct software_node ssam_node_bas_dtx = {
.parent = &ssam_node_root, .parent = &ssam_node_root,
}; };
/* HID keyboard. */
static const struct software_node ssam_node_hid_main_keyboard = {
.name = "ssam:01:15:02:01:00",
.parent = &ssam_node_root,
};
/* HID touchpad. */
static const struct software_node ssam_node_hid_main_touchpad = {
.name = "ssam:01:15:02:03:00",
.parent = &ssam_node_root,
};
/* HID device instance 5 (unknown HID device). */
static const struct software_node ssam_node_hid_main_iid5 = {
.name = "ssam:01:15:02:05:00",
.parent = &ssam_node_root,
};
/* HID keyboard (base hub). */
static const struct software_node ssam_node_hid_base_keyboard = {
.name = "ssam:01:15:02:01:00",
.parent = &ssam_node_hub_base,
};
/* HID touchpad (base hub). */
static const struct software_node ssam_node_hid_base_touchpad = {
.name = "ssam:01:15:02:03:00",
.parent = &ssam_node_hub_base,
};
/* HID device instance 5 (unknown HID device, base hub). */
static const struct software_node ssam_node_hid_base_iid5 = {
.name = "ssam:01:15:02:05:00",
.parent = &ssam_node_hub_base,
};
/* HID device instance 6 (unknown HID device, base hub). */
static const struct software_node ssam_node_hid_base_iid6 = {
.name = "ssam:01:15:02:06:00",
.parent = &ssam_node_hub_base,
};
/* Devices for Surface Book 2. */ /* Devices for Surface Book 2. */
static const struct software_node *ssam_node_group_sb2[] = { static const struct software_node *ssam_node_group_sb2[] = {
&ssam_node_root, &ssam_node_root,
...@@ -93,6 +135,10 @@ static const struct software_node *ssam_node_group_sb3[] = { ...@@ -93,6 +135,10 @@ static const struct software_node *ssam_node_group_sb3[] = {
&ssam_node_bat_sb3base, &ssam_node_bat_sb3base,
&ssam_node_tmp_pprof, &ssam_node_tmp_pprof,
&ssam_node_bas_dtx, &ssam_node_bas_dtx,
&ssam_node_hid_base_keyboard,
&ssam_node_hid_base_touchpad,
&ssam_node_hid_base_iid5,
&ssam_node_hid_base_iid6,
NULL, NULL,
}; };
...@@ -116,6 +162,9 @@ static const struct software_node *ssam_node_group_sl3[] = { ...@@ -116,6 +162,9 @@ static const struct software_node *ssam_node_group_sl3[] = {
&ssam_node_bat_ac, &ssam_node_bat_ac,
&ssam_node_bat_main, &ssam_node_bat_main,
&ssam_node_tmp_pprof, &ssam_node_tmp_pprof,
&ssam_node_hid_main_keyboard,
&ssam_node_hid_main_touchpad,
&ssam_node_hid_main_iid5,
NULL, NULL,
}; };
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment