aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/mfd
diff options
context:
space:
mode:
authorMark Brown <broonie@opensource.wolfsonmicro.com>2011-12-01 12:19:44 -0500
committerMark Brown <broonie@opensource.wolfsonmicro.com>2011-12-14 04:23:31 -0500
commita3462490b4d354c94031bfe644c65d374fc04aa6 (patch)
tree9b6b45b2e1cda704a8dcbc08c5ead30dd0fd874b /drivers/mfd
parentd0616bbed18884cb2475ca0abb5a596105444b96 (diff)
mfd: Test for jack detection when deciding if wm8994 should suspend
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> Acked-by: Samuel Ortiz <sameo@linux.intel.com>
Diffstat (limited to 'drivers/mfd')
-rw-r--r--drivers/mfd/wm8994-core.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/drivers/mfd/wm8994-core.c b/drivers/mfd/wm8994-core.c
index 93f8599aba32..9b8d1ad28ee1 100644
--- a/drivers/mfd/wm8994-core.c
+++ b/drivers/mfd/wm8994-core.c
@@ -241,6 +241,20 @@ static int wm8994_suspend(struct device *dev)
241 break; 241 break;
242 } 242 }
243 243
244 switch (wm8994->type) {
245 case WM1811:
246 ret = wm8994_reg_read(wm8994, WM8994_ANTIPOP_2);
247 if (ret < 0) {
248 dev_err(dev, "Failed to read jackdet: %d\n", ret);
249 } else if (ret & WM1811_JACKDET_MODE_MASK) {
250 dev_dbg(dev, "CODEC still active, ignoring suspend\n");
251 return 0;
252 }
253 break;
254 default:
255 break;
256 }
257
244 /* Disable LDO pulldowns while the device is suspended if we 258 /* Disable LDO pulldowns while the device is suspended if we
245 * don't know that something will be driving them. */ 259 * don't know that something will be driving them. */
246 if (!wm8994->ldo_ena_always_driven) 260 if (!wm8994->ldo_ena_always_driven)