ASoC: Instantiate DAPM widgets before we do the DAI link init
The DAI init function may want to do something that needs the widgets to be instantiated. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
This commit is contained in:
@@ -1059,6 +1059,9 @@ static int soc_post_component_init(struct snd_soc_card *card,
|
|||||||
temp = codec->name_prefix;
|
temp = codec->name_prefix;
|
||||||
codec->name_prefix = NULL;
|
codec->name_prefix = NULL;
|
||||||
|
|
||||||
|
/* Make sure all DAPM widgets are instantiated */
|
||||||
|
snd_soc_dapm_new_widgets(&codec->dapm);
|
||||||
|
|
||||||
/* do machine specific initialization */
|
/* do machine specific initialization */
|
||||||
if (!dailess && dai_link->init)
|
if (!dailess && dai_link->init)
|
||||||
ret = dai_link->init(rtd);
|
ret = dai_link->init(rtd);
|
||||||
@@ -1070,9 +1073,6 @@ static int soc_post_component_init(struct snd_soc_card *card,
|
|||||||
}
|
}
|
||||||
codec->name_prefix = temp;
|
codec->name_prefix = temp;
|
||||||
|
|
||||||
/* Make sure all DAPM widgets are instantiated */
|
|
||||||
snd_soc_dapm_new_widgets(&codec->dapm);
|
|
||||||
|
|
||||||
/* register the rtd device */
|
/* register the rtd device */
|
||||||
rtd->codec = codec;
|
rtd->codec = codec;
|
||||||
rtd->dev.parent = card->dev;
|
rtd->dev.parent = card->dev;
|
||||||
|
Reference in New Issue
Block a user