diff options
author | David Herrmann <dh.herrmann@gmail.com> | 2014-07-29 17:14:24 +0200 |
---|---|---|
committer | Jiri Kosina <jkosina@suse.cz> | 2014-08-25 10:28:08 +0200 |
commit | 11c221553080408b203a00b91ad5f647dfb218d1 (patch) | |
tree | ba4aa924ec09d7775ba887fbdaeaee45cff191b0 /drivers/hid/hid-tivo.c | |
parent | HID: uhid: rename uhid_raw_request to uhid_hid_raw_request (diff) | |
download | linux-11c221553080408b203a00b91ad5f647dfb218d1.tar.xz linux-11c221553080408b203a00b91ad5f647dfb218d1.zip |
HID: uhid: implement SET_REPORT
We so far lacked support for hid_hw_raw_request(..., HID_REQ_SET_REPORT);
Add support for it and simply forward the request to user-space. Note that
SET_REPORT is synchronous, just like GET_REPORT, even though it does not
provide any data back besides an error code.
If a transport layer does SET_REPORT asynchronously, they can just ACK it
immediately by writing an uhid_set_report_reply to uhid.
This patch re-uses the synchronous uhid-report infrastructure to query
user-space. Note that this means you cannot run SET_REPORT and GET_REPORT
in parallel. However, that has always been a restriction of HID and due to
its blocking nature, this is just fine. Maybe some future transport layer
supports parallel requests (very unlikely), however, until then lets not
over-complicate things and avoid request-lookup-tables.
Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Diffstat (limited to 'drivers/hid/hid-tivo.c')
0 files changed, 0 insertions, 0 deletions