[PATCH v5 0/6] Add spi-hid, transport for HID over SPI bus

Jarrett Schultz
2022-07-07T16:59:27Z

Surface Duo devices use a touch digitizer that communicates to the main
SoC via SPI and presents itself as a HID device. This patch's goal is to
add the spi-hid transport driver to drivers/hid. The driver follows the
publically available HID Over SPI Protocol Specification version 1.0.

The specification is available at
https://www.microsoft.com/en-us/download/details.aspx?id=103325.

In the initial commits there are some HID core changes to support a SPI
device, a change to HID documentation, HID over SPI Device Tree
bindings, and finally the SPI HID transport driver.

Dmitry Antipov (5):
HID: Add BUS_SPI support when printing out device info in
hid_connect()
HID: define HID_SPI_DEVICE macro in hid.h
dt-bindings: input: Document Microsoft G6 Touch Digitizer
Documentation: Correction in HID output_report callback description.
HID: add spi-hid, transport driver for HID over SPI bus

Jarrett Schultz (1):
Enable building drivers/hid/spi-hid as a module

.../input/microsoft,g6-touch-digitizer.yaml | 135 ++
Documentation/hid/hid-transport.rst | 4 +-
arch/arm64/configs/defconfig | 1 +
drivers/hid/Kconfig | 2 +
drivers/hid/Makefile | 1 +
drivers/hid/hid-core.c | 3 +
drivers/hid/spi-hid/Kconfig | 25 +
drivers/hid/spi-hid/Makefile | 12 +
drivers/hid/spi-hid/spi-hid-core.c | 1326 +++++++++++++++++
drivers/hid/spi-hid/spi-hid-core.h | 188 +++
drivers/hid/spi-hid/spi-hid-of.c | 141 ++
drivers/hid/spi-hid/spi-hid-of.h | 30 +
drivers/hid/spi-hid/spi-hid_trace.h | 194 +++
drivers/hid/spi-hid/trace.c | 9 +
include/linux/hid.h | 2 +
15 files changed, 2071 insertions(+), 2 deletions(-)
create mode 100644 Documentation/devicetree/bindings/input/microsoft,g6-touch-digitizer.yaml
create mode 100644 drivers/hid/spi-hid/Kconfig
create mode 100644 drivers/hid/spi-hid/Makefile
create mode 100644 drivers/hid/spi-hid/spi-hid-core.c
create mode 100644 drivers/hid/spi-hid/spi-hid-core.h
create mode 100644 drivers/hid/spi-hid/spi-hid-of.c
create mode 100644 drivers/hid/spi-hid/spi-hid-of.h
create mode 100644 drivers/hid/spi-hid/spi-hid_trace.h
create mode 100644 drivers/hid/spi-hid/trace.c

--
2.25.1