Archived
14
0
Fork 0

ASoC: Convert soc-jack code to use request_any_context_irq()

Allow the standard soc-jack GPIO based jack handling to handle the use of
GPIOs which may sleep (such as those on GPIO expanders) by converting the
code to use request_any_context_irq().

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
This commit is contained in:
Mark Brown 2010-11-03 09:35:31 -04:00
parent 9e3be1edbe
commit 3f58fd84b0

View file

@ -263,11 +263,12 @@ int snd_soc_jack_add_gpios(struct snd_soc_jack *jack, int count,
INIT_DELAYED_WORK(&gpios[i].work, gpio_work); INIT_DELAYED_WORK(&gpios[i].work, gpio_work);
gpios[i].jack = jack; gpios[i].jack = jack;
ret = request_irq(gpio_to_irq(gpios[i].gpio), ret = request_any_context_irq(gpio_to_irq(gpios[i].gpio),
gpio_handler, gpio_handler,
IRQF_TRIGGER_RISING | IRQF_TRIGGER_FALLING, IRQF_TRIGGER_RISING |
jack->codec->dev->driver->name, IRQF_TRIGGER_FALLING,
&gpios[i]); jack->codec->dev->driver->name,
&gpios[i]);
if (ret) if (ret)
goto err; goto err;