aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVladimir Zapolskiy <vzapolskiy@gmail.com>2010-06-24 09:38:51 -0400
committerMark Brown <broonie@opensource.wolfsonmicro.com>2010-06-25 07:29:02 -0400
commite4295b40ee64da20a3e31921745baba65e10ab36 (patch)
treeee7441a0492b5da298e5bb6ca76683719f752a45
parentcc3202f5da3c81a99c5f3a605df527da7a77eed3 (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.c12
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) {