diff options
author | Russell King <rmk+kernel@arm.linux.org.uk> | 2012-02-22 22:04:41 +0000 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2012-02-22 22:04:41 +0000 |
commit | 61b80086a525c8a6081257ae40da5dee2bcaee16 (patch) | |
tree | 675da35e4c03be3a5ca17bf6430e5b51dfed6296 /sound/soc/soc-core.c | |
parent | a5f17d1f4c2831b9b9bf8b1a537cdbac995d6e13 (diff) | |
parent | 230f984662d7e0e4a9597c665fd4f53130666e7d (diff) |
Merge branch 'entry-macro-cleanup' of git://sources.calxeda.com/kernel/linux into for-armsoc
Diffstat (limited to 'sound/soc/soc-core.c')
-rw-r--r-- | sound/soc/soc-core.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c index b5ecf6d2321..92cee24ed2d 100644 --- a/sound/soc/soc-core.c +++ b/sound/soc/soc-core.c @@ -567,6 +567,17 @@ int snd_soc_suspend(struct device *dev) if (!codec->suspended && codec->driver->suspend) { switch (codec->dapm.bias_level) { case SND_SOC_BIAS_STANDBY: + /* + * If the CODEC is capable of idle + * bias off then being in STANDBY + * means it's doing something, + * otherwise fall through. + */ + if (codec->dapm.idle_bias_off) { + dev_dbg(codec->dev, + "idle_bias_off CODEC on over suspend\n"); + break; + } case SND_SOC_BIAS_OFF: codec->driver->suspend(codec); codec->suspended = 1; |