[PATCH v3 0/3] new driver for Valve Steam Controller

From: Rodrigo Rivas Costa
Date: Sun Feb 25 2018 - 13:53:14 EST


This patchset implements a driver for Valve Steam Controller, based on a
reverse analysis by myself.

This is reroll v3, codenamed "lazy lizard". Changes from v2:
* Use RCU to do the dynamic connec/disconnect of wireless devices. Please,
to anybody that knows their way around RCU, review.
* Remove entries in hid-quirks.c as they are no longer needed. This allows
this module to be blacklisted without side effects.
* Do not bypass the virtual keyboard/mouse HID devices to avoid breaking
existing use cases (lizard mode). A user-space tool to do that is
linked.
* Fully separated axes for joystick and left-pad. As it happens, there are
people with too many fingers.
* Add fuzz values for left/right pad axes, they are a little wiggly.

Notable changes from patchset v1:
* Remove references to USB. Now the interesting interfaces are selected by
looking for the ones with feature reports.
* Feature reports buffers are allocated with hid_alloc_report_buf().
* Feature report length is checked, to avoid overflows in case of
corrupt/malicius USB devices.
* Resolution added to the ABS axes.
* A lot of minor cleanups.

Rodrigo Rivas Costa (3):
HID: add driver for Valve Steam Controller
HID: steam: add serial number information.
HID: steam: add battery device.

drivers/hid/Kconfig | 8 +
drivers/hid/Makefile | 1 +
drivers/hid/hid-ids.h | 4 +
drivers/hid/hid-steam.c | 777 ++++++++++++++++++++++++++++++++++++++++++++++++
4 files changed, 790 insertions(+)
create mode 100644 drivers/hid/hid-steam.c

--
2.16.2