Hi, This series is an update based on comments from Benjamin. What is done is this series is to ditch the separate hid-driver for USI, and add the generic support to core layers. This part basically brings the support for providing USI events, without programmability (patches 1-6). Additionally, a HID-BPF based sample is provided which can be used to program / query pen parameters in comparison to the old driver level implementation (patches 7-8, patch #8 is an incremental change on top of patch #7 which just converts the fifo to socket so that the client can also get results back from the server.) The whole series is based on top of Benjamin's hid-bpf support work, and I've pushed a branch at [1] with a series that works and brings in the dependency. There are also a few separate patches in this series to fix the problems I found from Benjamin's initial work for hid-bpf; I wasn't able to get things working without those. The branch is also based on top of 5.16-rc2 which required some extra changes to the patches from Benjamin. -Tero [1] https://github.com/t-kristo/linux/tree/usi-5.16-rfc-v2-bpf