Commit e4295b40 authored by Vladimir Zapolskiy's avatar Vladimir Zapolskiy Committed by Mark Brown

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: default avatarVladimir Zapolskiy <vzapolskiy@gmail.com>
Acked-by: default avatarLiam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
parent cc3202f5
...@@ -519,10 +519,6 @@ static int uda134x_soc_probe(struct platform_device *pdev) ...@@ -519,10 +519,6 @@ static int uda134x_soc_probe(struct platform_device *pdev)
codec->read = uda134x_read_reg_cache; codec->read = uda134x_read_reg_cache;
codec->write = uda134x_write; codec->write = uda134x_write;
if (!pd->is_powered_on_standby) {
codec->set_bias_level = uda134x_set_bias_level;
}
INIT_LIST_HEAD(&codec->dapm_widgets); INIT_LIST_HEAD(&codec->dapm_widgets);
INIT_LIST_HEAD(&codec->dapm_paths); INIT_LIST_HEAD(&codec->dapm_paths);
...@@ -533,6 +529,14 @@ static int uda134x_soc_probe(struct platform_device *pdev) ...@@ -533,6 +529,14 @@ static int uda134x_soc_probe(struct platform_device *pdev)
uda134x_reset(codec); uda134x_reset(codec);
if (pd->is_powered_on_standby) {
codec->set_bias_level = NULL;
uda134x_set_bias_level(codec, SND_SOC_BIAS_ON);
} else {
codec->set_bias_level = uda134x_set_bias_level;
uda134x_set_bias_level(codec, SND_SOC_BIAS_STANDBY);
}
/* register pcms */ /* register pcms */
ret = snd_soc_new_pcms(socdev, SNDRV_DEFAULT_IDX1, SNDRV_DEFAULT_STR1); ret = snd_soc_new_pcms(socdev, SNDRV_DEFAULT_IDX1, SNDRV_DEFAULT_STR1);
if (ret < 0) { if (ret < 0) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment