Skip to content

Commit aebf0a1

Browse files
qzedjwrdegoede
authored andcommitted
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: Maximilian Luz <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Hans de Goede <[email protected]>
1 parent f68aaf8 commit aebf0a1

File tree

1 file changed

+49
-0
lines changed

1 file changed

+49
-0
lines changed

drivers/platform/surface/surface_aggregator_registry.c

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,48 @@ static const struct software_node ssam_node_bas_dtx = {
7777
.parent = &ssam_node_root,
7878
};
7979

80+
/* HID keyboard. */
81+
static const struct software_node ssam_node_hid_main_keyboard = {
82+
.name = "ssam:01:15:02:01:00",
83+
.parent = &ssam_node_root,
84+
};
85+
86+
/* HID touchpad. */
87+
static const struct software_node ssam_node_hid_main_touchpad = {
88+
.name = "ssam:01:15:02:03:00",
89+
.parent = &ssam_node_root,
90+
};
91+
92+
/* HID device instance 5 (unknown HID device). */
93+
static const struct software_node ssam_node_hid_main_iid5 = {
94+
.name = "ssam:01:15:02:05:00",
95+
.parent = &ssam_node_root,
96+
};
97+
98+
/* HID keyboard (base hub). */
99+
static const struct software_node ssam_node_hid_base_keyboard = {
100+
.name = "ssam:01:15:02:01:00",
101+
.parent = &ssam_node_hub_base,
102+
};
103+
104+
/* HID touchpad (base hub). */
105+
static const struct software_node ssam_node_hid_base_touchpad = {
106+
.name = "ssam:01:15:02:03:00",
107+
.parent = &ssam_node_hub_base,
108+
};
109+
110+
/* HID device instance 5 (unknown HID device, base hub). */
111+
static const struct software_node ssam_node_hid_base_iid5 = {
112+
.name = "ssam:01:15:02:05:00",
113+
.parent = &ssam_node_hub_base,
114+
};
115+
116+
/* HID device instance 6 (unknown HID device, base hub). */
117+
static const struct software_node ssam_node_hid_base_iid6 = {
118+
.name = "ssam:01:15:02:06:00",
119+
.parent = &ssam_node_hub_base,
120+
};
121+
80122
/* Devices for Surface Book 2. */
81123
static const struct software_node *ssam_node_group_sb2[] = {
82124
&ssam_node_root,
@@ -93,6 +135,10 @@ static const struct software_node *ssam_node_group_sb3[] = {
93135
&ssam_node_bat_sb3base,
94136
&ssam_node_tmp_pprof,
95137
&ssam_node_bas_dtx,
138+
&ssam_node_hid_base_keyboard,
139+
&ssam_node_hid_base_touchpad,
140+
&ssam_node_hid_base_iid5,
141+
&ssam_node_hid_base_iid6,
96142
NULL,
97143
};
98144

@@ -116,6 +162,9 @@ static const struct software_node *ssam_node_group_sl3[] = {
116162
&ssam_node_bat_ac,
117163
&ssam_node_bat_main,
118164
&ssam_node_tmp_pprof,
165+
&ssam_node_hid_main_keyboard,
166+
&ssam_node_hid_main_touchpad,
167+
&ssam_node_hid_main_iid5,
119168
NULL,
120169
};
121170

0 commit comments

Comments
 (0)