* [PATCH 1/3] platform/surface: aggregator_registry: Rename HID device nodes based on their function
2022-08-10 14:41 [PATCH 0/3] platform/surface: aggregator_registry: Rename and add more HID device nodes Maximilian Luz
@ 2022-08-10 14:41 ` Maximilian Luz
2022-08-10 14:41 ` [PATCH 2/3] platform/surface: aggregator_registry: Rename HID device nodes based on new findings Maximilian Luz
` (2 subsequent siblings)
3 siblings, 0 replies; 5+ messages in thread
From: Maximilian Luz @ 2022-08-10 14:41 UTC (permalink / raw)
To: Hans de Goede
Cc: Mark Gross, platform-driver-x86, linux-kernel, Maximilian Luz
Rename HID device nodes based on their function. In particular, these
are nodes for firmware updates via the CFU mechanism (component firmware
update), HID based sensors, and a USB-C UCSI client.
Signed-off-by: Maximilian Luz <luzmaximilian@gmail.com>
---
.../surface/surface_aggregator_registry.c | 18 +++++++++---------
1 file changed, 9 insertions(+), 9 deletions(-)
diff --git a/drivers/platform/surface/surface_aggregator_registry.c b/drivers/platform/surface/surface_aggregator_registry.c
index d5655f6a4a41..c1ee8af7996d 100644
--- a/drivers/platform/surface/surface_aggregator_registry.c
+++ b/drivers/platform/surface/surface_aggregator_registry.c
@@ -104,14 +104,14 @@ static const struct software_node ssam_node_hid_tid1_touchpad = {
.parent = &ssam_node_root,
};
-/* HID device instance 6 (TID1, unknown HID device). */
-static const struct software_node ssam_node_hid_tid1_iid6 = {
+/* HID device instance 6 (TID1, HID sensor collection). */
+static const struct software_node ssam_node_hid_tid1_sensors = {
.name = "ssam:01:15:01:06:00",
.parent = &ssam_node_root,
};
-/* HID device instance 7 (TID1, unknown HID device). */
-static const struct software_node ssam_node_hid_tid1_iid7 = {
+/* HID device instance 7 (TID1, UCM UCSI HID client). */
+static const struct software_node ssam_node_hid_tid1_ucm_ucsi = {
.name = "ssam:01:15:01:07:00",
.parent = &ssam_node_root,
};
@@ -182,8 +182,8 @@ static const struct software_node ssam_node_hid_kip_touchpad = {
.parent = &ssam_node_hub_kip,
};
-/* HID device instance 5 (KIP hub, unknown HID device). */
-static const struct software_node ssam_node_hid_kip_iid5 = {
+/* HID device instance 5 (KIP hub, type-cover firmware update). */
+static const struct software_node ssam_node_hid_kip_fwupd = {
.name = "ssam:01:15:02:05:00",
.parent = &ssam_node_hub_kip,
};
@@ -244,8 +244,8 @@ static const struct software_node *ssam_node_group_sls[] = {
&ssam_node_hid_tid1_keyboard,
&ssam_node_hid_tid1_penstash,
&ssam_node_hid_tid1_touchpad,
- &ssam_node_hid_tid1_iid6,
- &ssam_node_hid_tid1_iid7,
+ &ssam_node_hid_tid1_sensors,
+ &ssam_node_hid_tid1_ucm_ucsi,
&ssam_node_hid_tid1_sysctrl,
NULL,
};
@@ -278,7 +278,7 @@ static const struct software_node *ssam_node_group_sp8[] = {
&ssam_node_hid_kip_keyboard,
&ssam_node_hid_kip_penstash,
&ssam_node_hid_kip_touchpad,
- &ssam_node_hid_kip_iid5,
+ &ssam_node_hid_kip_fwupd,
NULL,
};
--
2.37.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH 2/3] platform/surface: aggregator_registry: Rename HID device nodes based on new findings
2022-08-10 14:41 [PATCH 0/3] platform/surface: aggregator_registry: Rename and add more HID device nodes Maximilian Luz
2022-08-10 14:41 ` [PATCH 1/3] platform/surface: aggregator_registry: Rename HID device nodes based on their function Maximilian Luz
@ 2022-08-10 14:41 ` Maximilian Luz
2022-08-10 14:41 ` [PATCH 3/3] platform/surface: aggregator_registry: Add HID devices for sensors and UCSI client to SP8 Maximilian Luz
2022-08-15 13:03 ` [PATCH 0/3] platform/surface: aggregator_registry: Rename and add more HID device nodes Hans de Goede
3 siblings, 0 replies; 5+ messages in thread
From: Maximilian Luz @ 2022-08-10 14:41 UTC (permalink / raw)
To: Hans de Goede
Cc: Mark Gross, platform-driver-x86, linux-kernel, Maximilian Luz
On Windows, the HID devices with target ID 1 are grouped as "Surface Hot
Plug - SAM". Rename their device nodes in the registry to reflect that
and update the comments accordingly.
Signed-off-by: Maximilian Luz <luzmaximilian@gmail.com>
---
.../surface/surface_aggregator_registry.c | 36 +++++++++----------
1 file changed, 18 insertions(+), 18 deletions(-)
diff --git a/drivers/platform/surface/surface_aggregator_registry.c b/drivers/platform/surface/surface_aggregator_registry.c
index c1ee8af7996d..805c7bd4b15e 100644
--- a/drivers/platform/surface/surface_aggregator_registry.c
+++ b/drivers/platform/surface/surface_aggregator_registry.c
@@ -86,38 +86,38 @@ static const struct software_node ssam_node_bas_dtx = {
.parent = &ssam_node_root,
};
-/* HID keyboard (TID1). */
-static const struct software_node ssam_node_hid_tid1_keyboard = {
+/* HID keyboard (SAM, TID=1). */
+static const struct software_node ssam_node_hid_sam_keyboard = {
.name = "ssam:01:15:01:01:00",
.parent = &ssam_node_root,
};
-/* HID pen stash (TID1; pen taken / stashed away evens). */
-static const struct software_node ssam_node_hid_tid1_penstash = {
+/* HID pen stash (SAM, TID=1; pen taken / stashed away evens). */
+static const struct software_node ssam_node_hid_sam_penstash = {
.name = "ssam:01:15:01:02:00",
.parent = &ssam_node_root,
};
-/* HID touchpad (TID1). */
-static const struct software_node ssam_node_hid_tid1_touchpad = {
+/* HID touchpad (SAM, TID=1). */
+static const struct software_node ssam_node_hid_sam_touchpad = {
.name = "ssam:01:15:01:03:00",
.parent = &ssam_node_root,
};
-/* HID device instance 6 (TID1, HID sensor collection). */
-static const struct software_node ssam_node_hid_tid1_sensors = {
+/* HID device instance 6 (SAM, TID=1, HID sensor collection). */
+static const struct software_node ssam_node_hid_sam_sensors = {
.name = "ssam:01:15:01:06:00",
.parent = &ssam_node_root,
};
-/* HID device instance 7 (TID1, UCM UCSI HID client). */
-static const struct software_node ssam_node_hid_tid1_ucm_ucsi = {
+/* HID device instance 7 (SAM, TID=1, UCM UCSI HID client). */
+static const struct software_node ssam_node_hid_sam_ucm_ucsi = {
.name = "ssam:01:15:01:07:00",
.parent = &ssam_node_root,
};
-/* HID system controls (TID1). */
-static const struct software_node ssam_node_hid_tid1_sysctrl = {
+/* HID system controls (SAM, TID=1). */
+static const struct software_node ssam_node_hid_sam_sysctrl = {
.name = "ssam:01:15:01:08:00",
.parent = &ssam_node_root,
};
@@ -241,12 +241,12 @@ static const struct software_node *ssam_node_group_sls[] = {
&ssam_node_bat_main,
&ssam_node_tmp_pprof,
&ssam_node_pos_tablet_switch,
- &ssam_node_hid_tid1_keyboard,
- &ssam_node_hid_tid1_penstash,
- &ssam_node_hid_tid1_touchpad,
- &ssam_node_hid_tid1_sensors,
- &ssam_node_hid_tid1_ucm_ucsi,
- &ssam_node_hid_tid1_sysctrl,
+ &ssam_node_hid_sam_keyboard,
+ &ssam_node_hid_sam_penstash,
+ &ssam_node_hid_sam_touchpad,
+ &ssam_node_hid_sam_sensors,
+ &ssam_node_hid_sam_ucm_ucsi,
+ &ssam_node_hid_sam_sysctrl,
NULL,
};
--
2.37.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH 3/3] platform/surface: aggregator_registry: Add HID devices for sensors and UCSI client to SP8
2022-08-10 14:41 [PATCH 0/3] platform/surface: aggregator_registry: Rename and add more HID device nodes Maximilian Luz
2022-08-10 14:41 ` [PATCH 1/3] platform/surface: aggregator_registry: Rename HID device nodes based on their function Maximilian Luz
2022-08-10 14:41 ` [PATCH 2/3] platform/surface: aggregator_registry: Rename HID device nodes based on new findings Maximilian Luz
@ 2022-08-10 14:41 ` Maximilian Luz
2022-08-15 13:03 ` [PATCH 0/3] platform/surface: aggregator_registry: Rename and add more HID device nodes Hans de Goede
3 siblings, 0 replies; 5+ messages in thread
From: Maximilian Luz @ 2022-08-10 14:41 UTC (permalink / raw)
To: Hans de Goede
Cc: Mark Gross, platform-driver-x86, linux-kernel, Maximilian Luz
Add software nodes for the HID sensor collection and the UCM UCSI HID
client to the Surface Pro 8. In contrast to the type-cover devices,
these devices are directly attached to the SAM controller, without any
hub.
This enables support for HID-based sensors, including the ones used for
automatic screen rotation, on the Surface Pro 8.
Signed-off-by: Maximilian Luz <luzmaximilian@gmail.com>
---
drivers/platform/surface/surface_aggregator_registry.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/platform/surface/surface_aggregator_registry.c b/drivers/platform/surface/surface_aggregator_registry.c
index 805c7bd4b15e..cf6e213db223 100644
--- a/drivers/platform/surface/surface_aggregator_registry.c
+++ b/drivers/platform/surface/surface_aggregator_registry.c
@@ -279,6 +279,8 @@ static const struct software_node *ssam_node_group_sp8[] = {
&ssam_node_hid_kip_penstash,
&ssam_node_hid_kip_touchpad,
&ssam_node_hid_kip_fwupd,
+ &ssam_node_hid_sam_sensors,
+ &ssam_node_hid_sam_ucm_ucsi,
NULL,
};
--
2.37.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH 0/3] platform/surface: aggregator_registry: Rename and add more HID device nodes
2022-08-10 14:41 [PATCH 0/3] platform/surface: aggregator_registry: Rename and add more HID device nodes Maximilian Luz
` (2 preceding siblings ...)
2022-08-10 14:41 ` [PATCH 3/3] platform/surface: aggregator_registry: Add HID devices for sensors and UCSI client to SP8 Maximilian Luz
@ 2022-08-15 13:03 ` Hans de Goede
3 siblings, 0 replies; 5+ messages in thread
From: Hans de Goede @ 2022-08-15 13:03 UTC (permalink / raw)
To: Maximilian Luz; +Cc: Mark Gross, platform-driver-x86, linux-kernel
Hi,
On 8/10/22 16:41, Maximilian Luz wrote:
> This series is twofold:
>
> Patch 1 and 2 rename existing HID firmware nodes to better reflect the
> devices they represent and the hierarchy they are placed under. In
> particular, the three previously unknown nodes are for sensors, firmware
> updates via the CFU mechanism, and for a USB Type-C Connector System
> Software Interface (UCSI) HID client.
>
> Patch 3 adds support for sensors and the UCSI client to the Surface Pro
> 8 by adding the missing SAM-connected HID nodes.
Thank you for your patch, I've applied this patch to my review-hans
branch:
https://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86.git/log/?h=review-hans
Note it will show up in my review-hans branch once I've pushed my
local branch there, which might take a while.
Once I've run some tests on this branch the patches there will be
added to the platform-drivers-x86/for-next branch and eventually
will be included in the pdx86 pull-request to Linus for the next
merge-window.
Regards,
Hans
>
> Regards,
> Max
>
> Maximilian Luz (3):
> platform/surface: aggregator_registry: Rename HID device nodes based
> on their function
> platform/surface: aggregator_registry: Rename HID device nodes based
> on new findings
> platform/surface: aggregator_registry: Add HID devices for sensors and
> UCSI client to SP8
>
> .../surface/surface_aggregator_registry.c | 44 ++++++++++---------
> 1 file changed, 23 insertions(+), 21 deletions(-)
>
^ permalink raw reply [flat|nested] 5+ messages in thread