Hi Hyungwoo,
On 30/11/2021 08:36, Hyungwoo Yang wrote:
Hi Tero,
I have a question. As you know, USI provides a room for vendors to
differentiate their stylus. If a vendor wants to add reach features to
differentiate their stylus. Do you think the vendor needs to come up
with like HID-USI-<vendor>.c to configure the corresponding
usages(vendor-defined data) ? or we should use other approach ? like
register callbacks via HID-core ?
I think this depends quite a bit on what kind of features we are talking
about. Looking at this series, we have:
- hid-core changes to add new event codes / add support for these
- bfp modifications to support caching and write feature for the new
event codes (technically they can be written already via /dev/hidraw
directly, but the interface is bit clumsy, so we improve it with BFP)
So, depending on the feature you want to add, you can take either way,
but probably hacking with BPF is going to be easiest. Vendor could even
write their own BPF tool. Also, please note that the location of
samples/bpf/hid_usi* is not going to remain, there will most likely be
an external repository where the new HID related BPF tools are going to
maintained, Benjamin had some thoughts about that already.
-Tero
-Hyungwoo
On 11/26/21 5:01 AM, Tero Kristo wrote:
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