From f8b3174265e00ac5aa916203376c92fb757653c0 Mon Sep 17 00:00:00 2001 From: Mark Brown Date: Mon, 20 Feb 2012 21:32:32 +0000 Subject: [PATCH] --- yaml --- r: 288165 b: refs/heads/master c: e7c248a049c2aac21bded0b0722caee6f0e57256 h: refs/heads/master i: 288163: f4ba0f00dc382a1717ecad66d78bfa75a2592b15 v: v3 --- [refs] | 2 +- trunk/drivers/mfd/wm8994-core.c | 14 ++++++++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index cb97fa400451..af77201a4b12 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 0a35ee4783975b7238e20044445962fb4fe82cf5 +refs/heads/master: e7c248a049c2aac21bded0b0722caee6f0e57256 diff --git a/trunk/drivers/mfd/wm8994-core.c b/trunk/drivers/mfd/wm8994-core.c index f117e7fb9321..a04b3c108c8c 100644 --- a/trunk/drivers/mfd/wm8994-core.c +++ b/trunk/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)