diff options
author | David Herrmann <dh.herrmann@googlemail.com> | 2012-06-10 15:16:21 +0200 |
---|---|---|
committer | Jiri Kosina <jkosina@suse.cz> | 2012-06-18 13:42:01 +0200 |
commit | ec4b7dea453e0f9fd0fbf1761b2d01eff64f264b (patch) | |
tree | baeafe25dba78b3bd3efcb1100dd387d015a7878 /drivers/hid | |
parent | 037c061bca06cbfe9998476fb593090300fbbe87 (diff) | |
download | op-kernel-dev-ec4b7dea453e0f9fd0fbf1761b2d01eff64f264b.zip op-kernel-dev-ec4b7dea453e0f9fd0fbf1761b2d01eff64f264b.tar.gz |
HID: uhid: add UHID_START and UHID_STOP events
We send UHID_START and UHID_STOP events to user-space when the HID core
starts/stops the device. This notifies user-space about driver readiness
and data-I/O can start now.
This directly forwards the callbacks from hid-core to user-space.
Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Diffstat (limited to 'drivers/hid')
-rw-r--r-- | drivers/hid/uhid.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/drivers/hid/uhid.c b/drivers/hid/uhid.c index 0d011db..2e7f3a0 100644 --- a/drivers/hid/uhid.c +++ b/drivers/hid/uhid.c @@ -82,11 +82,17 @@ static int uhid_queue_event(struct uhid_device *uhid, __u32 event) static int uhid_hid_start(struct hid_device *hid) { - return 0; + struct uhid_device *uhid = hid->driver_data; + + return uhid_queue_event(uhid, UHID_START); } static void uhid_hid_stop(struct hid_device *hid) { + struct uhid_device *uhid = hid->driver_data; + + hid->claimed = 0; + uhid_queue_event(uhid, UHID_STOP); } static int uhid_hid_open(struct hid_device *hid) |