HID: surface-hid: Add support for legacy keyboard interface
authorMaximilian Luz <luzmaximilian@gmail.com>
Wed, 10 Mar 2021 22:53:29 +0000 (23:53 +0100)
committerJiri Kosina <jkosina@suse.cz>
Tue, 30 Mar 2021 07:19:29 +0000 (09:19 +0200)
commit35a927f2848bd79586c6374ebb99e4207f3b0c7f
tree1268839ba31bbaa43539f7c66fab1a75e02c8e18
parentb05ff1002a5c19f2fd511c6eada6f475ff701841
HID: surface-hid: Add support for legacy keyboard interface

Add support for the legacy keyboard (KBD/TC=0x08) HID transport layer of
the Surface System Aggregator Module (SSAM) to the Surface HID driver.
On Surface Laptops 1 and 2, this interface is used to connect the
integrated keyboard.

Note that this subsystem interface essentially provides a limited HID
transport layer. In contrast to the generic HID interface (TC=0x15) used
on newer Surface models, this interface only allows (as far as we know)
for a single device to be connected and is otherwise severely limited in
terms of support for feature- and output-reports. Specifically, only
caps-lock-LED output-reports and a single read-only feature-report are
supported.

Signed-off-by: Maximilian Luz <luzmaximilian@gmail.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
drivers/hid/surface-hid/Kconfig
drivers/hid/surface-hid/Makefile
drivers/hid/surface-hid/surface_kbd.c [new file with mode: 0644]