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>
This commit is contained in:
committed by
Mark Brown
parent
cc3202f5da
commit
e4295b40ee
@@ -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)
|
|||||||
|
|
||||||
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) {
|
||||||
|
Reference in New Issue
Block a user