From: Jarrett Schultz <jaschultz@xxxxxxxxxxxxx> 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