diff options
author | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2010-11-03 09:35:31 -0400 |
---|---|---|
committer | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2010-11-03 12:37:00 -0400 |
commit | 3f58fd84b0c0bd482151259ee0d2921974e1fe4c (patch) | |
tree | 1ba788fc534587a45f6f22e7cb9ece0c2f35b61e /sound/soc/soc-jack.c | |
parent | 9e3be1edbe5ca57df51140b523168237b3a01f4d (diff) |
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>
Diffstat (limited to 'sound/soc/soc-jack.c')
-rw-r--r-- | sound/soc/soc-jack.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/sound/soc/soc-jack.c b/sound/soc/soc-jack.c index 8a0a9205b1e7..9f07551e155f 100644 --- a/sound/soc/soc-jack.c +++ b/sound/soc/soc-jack.c | |||
@@ -263,11 +263,12 @@ int snd_soc_jack_add_gpios(struct snd_soc_jack *jack, int count, | |||
263 | INIT_DELAYED_WORK(&gpios[i].work, gpio_work); | 263 | INIT_DELAYED_WORK(&gpios[i].work, gpio_work); |
264 | gpios[i].jack = jack; | 264 | gpios[i].jack = jack; |
265 | 265 | ||
266 | ret = request_irq(gpio_to_irq(gpios[i].gpio), | 266 | ret = request_any_context_irq(gpio_to_irq(gpios[i].gpio), |
267 | gpio_handler, | 267 | gpio_handler, |
268 | IRQF_TRIGGER_RISING | IRQF_TRIGGER_FALLING, | 268 | IRQF_TRIGGER_RISING | |
269 | jack->codec->dev->driver->name, | 269 | IRQF_TRIGGER_FALLING, |
270 | &gpios[i]); | 270 | jack->codec->dev->driver->name, |
271 | &gpios[i]); | ||
271 | if (ret) | 272 | if (ret) |
272 | goto err; | 273 | goto err; |
273 | 274 | ||