|
@@ -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);
|
|
|
gpios[i].jack = jack;
|
|
|
|
|
|
- ret = request_irq(gpio_to_irq(gpios[i].gpio),
|
|
|
- gpio_handler,
|
|
|
- IRQF_TRIGGER_RISING | IRQF_TRIGGER_FALLING,
|
|
|
- jack->codec->dev->driver->name,
|
|
|
- &gpios[i]);
|
|
|
+ ret = request_any_context_irq(gpio_to_irq(gpios[i].gpio),
|
|
|
+ gpio_handler,
|
|
|
+ IRQF_TRIGGER_RISING |
|
|
|
+ IRQF_TRIGGER_FALLING,
|
|
|
+ jack->codec->dev->driver->name,
|
|
|
+ &gpios[i]);
|
|
|
if (ret)
|
|
|
goto err;
|
|
|
|