Messages in this thread Patch in this message | | | From | Mark Brown <> | Subject | [PATCH 3.3] mfd: Test for jack detection when deciding if wm8994 should suspend | Date | Tue, 24 Jan 2012 22:10:58 +0000 |
| |
The jack detection on WM1811 is often required during system suspend, add it as another check when deciding if we should suspend.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> ---
This should really have gone into 3.2 as a bug fix - it fell out of the merge window for 3.2 due to cross tree issues. If it's helpful I can apply it via the ASoC tree?
drivers/mfd/wm8994-core.c | 14 ++++++++++++++ 1 files changed, 14 insertions(+), 0 deletions(-)
diff --git a/drivers/mfd/wm8994-core.c b/drivers/mfd/wm8994-core.c index f117e7f..a04b3c1 100644 --- a/drivers/mfd/wm8994-core.c +++ b/drivers/mfd/wm8994-core.c @@ -256,6 +256,20 @@ static int wm8994_suspend(struct device *dev) break; } + switch (wm8994->type) { + case WM1811: + ret = wm8994_reg_read(wm8994, WM8994_ANTIPOP_2); + if (ret < 0) { + dev_err(dev, "Failed to read jackdet: %d\n", ret); + } else if (ret & WM1811_JACKDET_MODE_MASK) { + dev_dbg(dev, "CODEC still active, ignoring suspend\n"); + return 0; + } + break; + default: + break; + } + /* Disable LDO pulldowns while the device is suspended if we * don't know that something will be driving them. */ if (!wm8994->ldo_ena_always_driven) -- 1.7.9.rc1
| |