Commit 11e16eb3 authored by Mark Brown's avatar Mark Brown

ASoC: Use pm_wakeup_event() in WM8962 jack detection

Ensure that the system does not suspend while we process a WM8962 jack
event by using pm_wakeup_event() to block the suspend while we're waiting
for the jack to settle. Use a slightly longer timeout than the jack waits
to allow for other stuff to take over and delays in scheduling.
Signed-off-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: default avatarLiam Girdwood <lrg@slimlogic.co.uk>
parent 7b0f42b5
...@@ -3353,6 +3353,8 @@ static irqreturn_t wm8962_irq(int irq, void *data) ...@@ -3353,6 +3353,8 @@ static irqreturn_t wm8962_irq(int irq, void *data)
if (active & (WM8962_MICSCD_EINT | WM8962_MICD_EINT)) { if (active & (WM8962_MICSCD_EINT | WM8962_MICD_EINT)) {
dev_dbg(codec->dev, "Microphone event detected\n"); dev_dbg(codec->dev, "Microphone event detected\n");
pm_wakeup_event(codec->dev, 300);
schedule_delayed_work(&wm8962->mic_work, schedule_delayed_work(&wm8962->mic_work,
msecs_to_jiffies(250)); msecs_to_jiffies(250));
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment