Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

platform/surface: aggregator_registry: Add initial support for Surface Pro 8

Add preliminary support for the Surface Pro 8 to the Surface Aggregator
registry. This includes battery/charger status and platform profile
support.

In contrast to earlier Surface Pro generations, the keyboard cover is
now also connected via the Surface Aggregator Module (whereas it was
previously connected via USB or HID-over-I2C). To properly support the
HID devices of that cover, however, more changes regarding hot-removal
of Surface Aggregator client devices as well as a new device hub driver
are required. We will address those things in a follow-up series, so do
not add any HID device IDs just yet.

Signed-off-by: Maximilian Luz <luzmaximilian@gmail.com>
Link: https://lore.kernel.org/r/20211028012845.1887219-1-luzmaximilian@gmail.com
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>

authored by

Maximilian Luz and committed by
Hans de Goede
025a2fbd 4616e547

+12
+12
drivers/platform/surface/surface_aggregator_registry.c
··· 228 228 NULL, 229 229 }; 230 230 231 + static const struct software_node *ssam_node_group_sp8[] = { 232 + &ssam_node_root, 233 + &ssam_node_bat_ac, 234 + &ssam_node_bat_main, 235 + &ssam_node_tmp_pprof, 236 + /* TODO: Add support for keyboard cover. */ 237 + NULL, 238 + }; 239 + 231 240 232 241 /* -- Device registry helper functions. ------------------------------------- */ 233 242 ··· 542 533 543 534 /* Surface Pro 7+ */ 544 535 { "MSHW0119", (unsigned long)ssam_node_group_sp7 }, 536 + 537 + /* Surface Pro 8 */ 538 + { "MSHW0263", (unsigned long)ssam_node_group_sp8 }, 545 539 546 540 /* Surface Book 2 */ 547 541 { "MSHW0107", (unsigned long)ssam_node_group_gen5 },