HID: wiimote: Helper functions for synchronous requests
commit29d28064e27d11433c4249369f469fab86826d0c
authorDavid Herrmann <dh.herrmann@googlemail.com>
Tue, 6 Sep 2011 11:50:34 +0000 (6 13:50 +0200)
committerJiri Kosina <jkosina@suse.cz>
Wed, 7 Sep 2011 11:25:17 +0000 (7 13:25 +0200)
treeb1d25e0472636c029bf30361c56fd02e9b38f97d
parentbe1ecd62e619dae8d7c5b7f212333558fcc85d4d
HID: wiimote: Helper functions for synchronous requests

To initialize wiimote peripherals, the stream to the wiimote must be held
exclusively by the initializer, otherwise the initialization will fail. Many
initializations require multiple memory requests to be sent synchronously so we
need a way to lock the stream and release it when we are done.

This adds several helper functions which allow to lock the stream, then send
requests, wait for the answers and release the stream again.

When holding the lock, the function may sleep and interrupted by signals.
Also it returns after a short timeout so userspace shouldn't notice long
delays.

Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
drivers/hid/hid-wiimote.c