aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation
diff options
context:
space:
mode:
authorDavid Herrmann <dh.herrmann@googlemail.com>2012-06-10 15:16:25 +0200
committerColin Cross <ccross@android.com>2012-08-16 12:44:29 -0700
commitc12e46fb7120994085bb045ee5a885baa631aeff (patch)
treee66b9e5cef10f318977e1530700383d28636ff44 /Documentation
parent715ee7c3e5ccfffe08089276c632109d45d97791 (diff)
downloadkernel_samsung_tuna-c12e46fb7120994085bb045ee5a885baa631aeff.zip
kernel_samsung_tuna-c12e46fb7120994085bb045ee5a885baa631aeff.tar.gz
kernel_samsung_tuna-c12e46fb7120994085bb045ee5a885baa631aeff.tar.bz2
HID: uhid: implement feature requests
HID standard allows sending a feature request to the device which is answered by an HID report. uhid implements this by sending a UHID_FEATURE event to user-space which then must answer with UHID_FEATURE_ANSWER. If it doesn't do this in a timely manner, the request is discarded silently. We serialize the feature requests, that is, there is always only a single active feature-request sent to user-space, other requests have to wait. HIDP and USB-HID do it the same way. Because we discard feature-requests silently, we must make sure to match a response to the corresponding request. We use sequence-IDs for this so user-space must copy the ID from the request into the answer. Feature-answers are ignored if they do not contain the same ID as the currently pending feature request. Internally, we must make sure that feature-requests are synchronized with UHID_DESTROY and close() events. We must not dead-lock when closing the HID device, either, so we have to use separate locks. Signed-off-by: David Herrmann <dh.herrmann@googlemail.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Diffstat (limited to 'Documentation')
0 files changed, 0 insertions, 0 deletions