diff options
author | Vladimir Zapolskiy <vzapolskiy@gmail.com> | 2010-06-24 09:38:51 -0400 |
---|---|---|
committer | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2010-06-25 07:29:02 -0400 |
commit | e4295b40ee64da20a3e31921745baba65e10ab36 (patch) | |
tree | ee7441a0492b5da298e5bb6ca76683719f752a45 | |
parent | cc3202f5da3c81a99c5f3a605df527da7a77eed3 (diff) |
ASoC: uda134x: fix bias level setup on initialization
On initialization ADC/DAC are enabled only for UDA1341, that's why
bias_level shall be set to off explicitly, otherwise dapm is
misinformed about bias_level on startup.
Signed-off-by: Vladimir Zapolskiy <vzapolskiy@gmail.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
-rw-r--r-- | sound/soc/codecs/uda134x.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/sound/soc/codecs/uda134x.c b/sound/soc/codecs/uda134x.c index 30cf2f9d3298..52eada1f17fc 100644 --- a/sound/soc/codecs/uda134x.c +++ b/sound/soc/codecs/uda134x.c | |||
@@ -519,10 +519,6 @@ static int uda134x_soc_probe(struct platform_device *pdev) | |||
519 | codec->read = uda134x_read_reg_cache; | 519 | codec->read = uda134x_read_reg_cache; |
520 | codec->write = uda134x_write; | 520 | codec->write = uda134x_write; |
521 | 521 | ||
522 | if (!pd->is_powered_on_standby) { | ||
523 | codec->set_bias_level = uda134x_set_bias_level; | ||
524 | } | ||
525 | |||
526 | INIT_LIST_HEAD(&codec->dapm_widgets); | 522 | INIT_LIST_HEAD(&codec->dapm_widgets); |
527 | INIT_LIST_HEAD(&codec->dapm_paths); | 523 | INIT_LIST_HEAD(&codec->dapm_paths); |
528 | 524 | ||
@@ -533,6 +529,14 @@ static int uda134x_soc_probe(struct platform_device *pdev) | |||
533 | 529 | ||
534 | uda134x_reset(codec); | 530 | uda134x_reset(codec); |
535 | 531 | ||
532 | if (pd->is_powered_on_standby) { | ||
533 | codec->set_bias_level = NULL; | ||
534 | uda134x_set_bias_level(codec, SND_SOC_BIAS_ON); | ||
535 | } else { | ||
536 | codec->set_bias_level = uda134x_set_bias_level; | ||
537 | uda134x_set_bias_level(codec, SND_SOC_BIAS_STANDBY); | ||
538 | } | ||
539 | |||
536 | /* register pcms */ | 540 | /* register pcms */ |
537 | ret = snd_soc_new_pcms(socdev, SNDRV_DEFAULT_IDX1, SNDRV_DEFAULT_STR1); | 541 | ret = snd_soc_new_pcms(socdev, SNDRV_DEFAULT_IDX1, SNDRV_DEFAULT_STR1); |
538 | if (ret < 0) { | 542 | if (ret < 0) { |