On Thu, Sep 15, 2011 at 03:59:17PM +0300, Peter Ujfalusi wrote: > The VIBSELL/R bit in the VIBCTLL/R register tells the source of the data, > which is going to be used to drive the attached motor(s). > Do not allow effect execution if any of the channels are set to receive > audio data. > > Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> > --- > drivers/input/misc/twl6040-vibra.c | 7 +++++++ > 1 files changed, 7 insertions(+), 0 deletions(-) > > diff --git a/drivers/input/misc/twl6040-vibra.c b/drivers/input/misc/twl6040-vibra.c > index cb74185..fe624f2 100644 > --- a/drivers/input/misc/twl6040-vibra.c > +++ b/drivers/input/misc/twl6040-vibra.c > @@ -201,6 +201,13 @@ static int vibra_play(struct input_dev *input, void *data, > struct vibra_info *info = input_get_drvdata(input); > int ret; > > + /* Do not allow effect, while the routing is set to use audio */ > + ret = twl6040_get_vibralr_status(info->twl6040); > + if (ret & TWL6040_VIBSEL) { > + dev_info(&input->dev, "Vibra is configured for audio\n"); > + return -EPERM; > + } > + This is not very helpful for the application trying to use the device. Maybe we should zap the device when channels are routed through audio instead of dripping requests? Thanks. -- Dmitry -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html