diff mbox

Input: Document no-sleep requirement for playback() callback

Message ID 1353997935-7210-1-git-send-email-broonie@opensource.wolfsonmicro.com (mailing list archive)
State New, archived
Headers show

Commit Message

Mark Brown Nov. 27, 2012, 6:32 a.m. UTC
Avoids surprising users.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
---
 include/linux/input.h |    3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

Comments

Dmitry Torokhov Nov. 27, 2012, 6:42 a.m. UTC | #1
On Tue, Nov 27, 2012 at 06:32:15AM +0000, Mark Brown wrote:
> Avoids surprising users.
> 
> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
> ---
>  include/linux/input.h |    3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/include/linux/input.h b/include/linux/input.h
> index 82ce323..0ba0de1 100644
> --- a/include/linux/input.h
> +++ b/include/linux/input.h
> @@ -475,7 +475,8 @@ extern struct class input_class;
>   * struct ff_device - force-feedback part of an input device
>   * @upload: Called to upload an new effect into device
>   * @erase: Called to erase an effect from device
> - * @playback: Called to request device to start playing specified effect
> + * @playback: Called to request device to start playing specified effect.
> + *            Must not sleep.
>   * @set_gain: Called to set specified gain
>   * @set_autocenter: Called to auto-center device
>   * @destroy: called by input core when parent input device is being

We already have a few lines below:

> * Note that playback(), set_gain() and set_autocenter() are called with
> * dev->event_lock spinlock held and interrupts off and thus may not
> * sleep.

So I doubt they will pay more attention to your addition ;)

Thanks.
Mark Brown Nov. 27, 2012, 6:47 a.m. UTC | #2
On Mon, Nov 26, 2012 at 10:42:38PM -0800, Dmitry Torokhov wrote:

> We already have a few lines below:

> > * Note that playback(), set_gain() and set_autocenter() are called with
> > * dev->event_lock spinlock held and interrupts off and thus may not
> > * sleep.

> So I doubt they will pay more attention to your addition ;)

Ah, it's quite a few lines below - it was actually off the bottom of my
screen which rather buried the lead (though TBH I think I was most
surprised by the fact that the lock isn't actually in the struct).
diff mbox

Patch

diff --git a/include/linux/input.h b/include/linux/input.h
index 82ce323..0ba0de1 100644
--- a/include/linux/input.h
+++ b/include/linux/input.h
@@ -475,7 +475,8 @@  extern struct class input_class;
  * struct ff_device - force-feedback part of an input device
  * @upload: Called to upload an new effect into device
  * @erase: Called to erase an effect from device
- * @playback: Called to request device to start playing specified effect
+ * @playback: Called to request device to start playing specified effect.
+ *            Must not sleep.
  * @set_gain: Called to set specified gain
  * @set_autocenter: Called to auto-center device
  * @destroy: called by input core when parent input device is being