Messages in this thread | | | Date | Thu, 15 Sep 2011 23:27:20 -0700 | From | Dmitry Torokhov <> | Subject | Re: [PATCH 4/8] Input: twl6040-vibra: Check the selected path for vibra |
| |
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@ti.com> > --- > 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
| |