From: Mark Brown Date: Wed, 3 Nov 2010 18:45:07 +0000 (-0400) Subject: ASoC: Use pm_wakeup_event() in WM8962 jack detection X-Git-Tag: v2.6.38-rc1~236^2^2~210 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=11e16eb365f4f6979cfcb2a2d379338b383590d9;p=karo-tx-linux.git 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: Mark Brown Acked-by: Liam Girdwood --- diff --git a/sound/soc/codecs/wm8962.c b/sound/soc/codecs/wm8962.c index 894d0cd3aa9b..2eaf9bb36b57 100644 --- a/sound/soc/codecs/wm8962.c +++ b/sound/soc/codecs/wm8962.c @@ -3353,6 +3353,8 @@ static irqreturn_t wm8962_irq(int irq, void *data) if (active & (WM8962_MICSCD_EINT | WM8962_MICD_EINT)) { dev_dbg(codec->dev, "Microphone event detected\n"); + pm_wakeup_event(codec->dev, 300); + schedule_delayed_work(&wm8962->mic_work, msecs_to_jiffies(250)); }