diff options
author | Chuansheng Liu <chuansheng.liu@intel.com> | 2012-12-21 11:17:12 +0100 |
---|---|---|
committer | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2012-12-24 16:35:34 +0100 |
commit | ff541f4b2a7546ffa8edf123f4b3b49bb24574e2 (patch) | |
tree | 07d1f14b59e51119b3caf9fc1da4e815b9b32982 /sound/soc/soc-core.c | |
parent | Linux 3.8-rc1 (diff) | |
download | linux-ff541f4b2a7546ffa8edf123f4b3b49bb24574e2.tar.xz linux-ff541f4b2a7546ffa8edf123f4b3b49bb24574e2.zip |
ASoC: core: giving WARN when device starting from non-off bias with idle_bias_off
Just found some cases that some codec drivers set the bias to _STANDBY and
set idle_bias_off to 1 during probing.
It will cause unpaired runtime_get_sync/put() issue. Also as Mark suggested,
there is no reason to start from _STANDBY bias with idle_bias_off == 1.
So here giving one warning when detected (dapm.idle_bias_off == 1) and
(dapm.bias_level != SND_SOC_BIAS_OFF) just after driver->probe().
Signed-off-by: liu chuansheng <chuansheng.liu@intel.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Diffstat (limited to 'sound/soc/soc-core.c')
-rw-r--r-- | sound/soc/soc-core.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c index 91d592ff67b7..e0e8ce0c031a 100644 --- a/sound/soc/soc-core.c +++ b/sound/soc/soc-core.c @@ -1107,6 +1107,10 @@ static int soc_probe_codec(struct snd_soc_card *card, "ASoC: failed to probe CODEC %d\n", ret); goto err_probe; } + WARN(codec->dapm.idle_bias_off && + codec->dapm.bias_level != SND_SOC_BIAS_OFF, + "codec %s can not start from non-off bias" + " with idle_bias_off==1\n", codec->name); } /* If the driver didn't set I/O up try regmap */ |