diff options
author | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2009-08-19 09:18:53 -0400 |
---|---|---|
committer | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2009-08-19 09:18:53 -0400 |
commit | 474e09ca017bd0f6e9bf41af643364a21bc27f43 (patch) | |
tree | 622ea31cfaae4a20e4b39d8f1c53734ef6768b6f /sound/soc/soc-dapm.c | |
parent | d1a5e44b89b35c88f8908f2b1774201704460f36 (diff) |
ASoC: Provide default set_bias_level() implementation
If the CODEC does not provide a set_bias_level() then update the
bias_level variable for it since other parts of the system expect
that to be maintained.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Diffstat (limited to 'sound/soc/soc-dapm.c')
-rw-r--r-- | sound/soc/soc-dapm.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/sound/soc/soc-dapm.c b/sound/soc/soc-dapm.c index 88461310dc96..5cfc90941e49 100644 --- a/sound/soc/soc-dapm.c +++ b/sound/soc/soc-dapm.c | |||
@@ -148,8 +148,12 @@ static int snd_soc_dapm_set_bias_level(struct snd_soc_device *socdev, | |||
148 | 148 | ||
149 | if (card->set_bias_level) | 149 | if (card->set_bias_level) |
150 | ret = card->set_bias_level(card, level); | 150 | ret = card->set_bias_level(card, level); |
151 | if (ret == 0 && codec->set_bias_level) | 151 | if (ret == 0) { |
152 | ret = codec->set_bias_level(codec, level); | 152 | if (codec->set_bias_level) |
153 | ret = codec->set_bias_level(codec, level); | ||
154 | else | ||
155 | codec->bias_level = level; | ||
156 | } | ||
153 | 157 | ||
154 | return ret; | 158 | return ret; |
155 | } | 159 | } |