diff options
author | Arnd Bergmann <arnd@arndb.de> | 2012-03-20 22:42:24 +0000 |
---|---|---|
committer | Arnd Bergmann <arnd@arndb.de> | 2012-03-20 22:42:24 +0000 |
commit | f907ab06bb021bcb91d39c8d1b36536ebdb318fa (patch) | |
tree | 6020618997a6ea1b5f5b59c89df35344023f7c82 /drivers/mfd/wm8994-core.c | |
parent | 7cc026f21e2acdcea8640df5da470c6fdca92911 (diff) | |
parent | 489e7bece7f6859a7df484a4dce08fa51fb0d876 (diff) |
Merge branch 'next/fixes-non-critical' into next/drivers
Conflicts:
arch/arm/mach-lpc32xx/clock.c
arch/arm/mach-pxa/pxa25x.c
arch/arm/mach-pxa/pxa27x.c
The conflicts with pxa are non-obvious, we have multiple branches
adding and removing the same clock settings. According to
Haojian Zhuang, removing the sa1100 rtc dummy clock is the correct
fix here.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Diffstat (limited to 'drivers/mfd/wm8994-core.c')
-rw-r--r-- | 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 f117e7fb932..a04b3c108c8 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) |