]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
platform/surface: aggregator_registry: Add Surface Pro 9 5G
authorJérôme de Bretagne <jerome.debretagne@gmail.com>
Sun, 8 Sep 2024 22:35:03 +0000 (00:35 +0200)
committerIlpo Järvinen <ilpo.jarvinen@linux.intel.com>
Tue, 22 Oct 2024 08:48:15 +0000 (11:48 +0300)
Add SAM client device nodes for the Surface Pro 9 5G, with the usual
battery/AC and HID nodes for keyboard and touchpad support.

Signed-off-by: Jérôme de Bretagne <jerome.debretagne@gmail.com>
Reviewed-by: Maximilian Luz <luzmaximilian@gmail.com>
Link: https://lore.kernel.org/r/20240908223505.21011-4-jerome.debretagne@gmail.com
[ij: variable names 5G -> 5g, added archs to comments as requested.]
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
drivers/platform/surface/surface_aggregator_registry.c

index 25c8aa2131d63872c231c069cb73fef5d3466268..06e45f0b9817d189df4df86f663cb3757b8cf8ac 100644 (file)
@@ -371,7 +371,7 @@ static const struct software_node *ssam_node_group_sp8[] = {
        NULL,
 };
 
-/* Devices for Surface Pro 9 and 10 */
+/* Devices for Surface Pro 9 (Intel/x86) and 10 */
 static const struct software_node *ssam_node_group_sp9[] = {
        &ssam_node_root,
        &ssam_node_hub_kip,
@@ -390,6 +390,21 @@ static const struct software_node *ssam_node_group_sp9[] = {
        NULL,
 };
 
+/* Devices for Surface Pro 9 5G (ARM/QCOM) */
+static const struct software_node *ssam_node_group_sp9_5g[] = {
+       &ssam_node_root,
+       &ssam_node_hub_kip,
+       &ssam_node_bat_ac,
+       &ssam_node_bat_main,
+       &ssam_node_tmp_sensors,
+       &ssam_node_hid_kip_keyboard,
+       &ssam_node_hid_kip_penstash,
+       &ssam_node_hid_kip_touchpad,
+       &ssam_node_hid_kip_fwupd,
+       &ssam_node_hid_sam_sensors,
+       &ssam_node_kip_tablet_switch,
+       NULL,
+};
 
 /* -- SSAM platform/meta-hub driver. ---------------------------------------- */
 
@@ -462,6 +477,8 @@ static const struct acpi_device_id ssam_platform_hub_acpi_match[] = {
 MODULE_DEVICE_TABLE(acpi, ssam_platform_hub_acpi_match);
 
 static const struct of_device_id ssam_platform_hub_of_match[] __maybe_unused = {
+       /* Surface Pro 9 5G (ARM/QCOM) */
+       { .compatible = "microsoft,arcata", (void *)ssam_node_group_sp9_5g },
        /* Surface Laptop 7 */
        { .compatible = "microsoft,romulus13", (void *)ssam_node_group_sl7 },
        { .compatible = "microsoft,romulus15", (void *)ssam_node_group_sl7 },