Signed-off-by: Xiubo Li Li.Xiubo@freescale.com --- sound/soc/generic/simple-card.c | 9 +++++++++ 1 file changed, 9 insertions(+)
diff --git a/sound/soc/generic/simple-card.c b/sound/soc/generic/simple-card.c index e473dc9..e7cd9bb 100644 --- a/sound/soc/generic/simple-card.c +++ b/sound/soc/generic/simple-card.c @@ -125,6 +125,7 @@ static int asoc_simple_card_parse_of(struct device_node *node, struct device_node **of_codec, struct device_node **of_platform) { + struct asoc_simple_card_widgets *comp; struct device_node *np; char *name; int ret; @@ -133,6 +134,14 @@ static int asoc_simple_card_parse_of(struct device_node *node, info->daifmt = snd_soc_of_parse_daifmt(node, "simple-audio-card,") & (SND_SOC_DAIFMT_FORMAT_MASK | SND_SOC_DAIFMT_INV_MASK);
+ comp = asoc_simple_card_get_widgets(node); + if (!IS_ERR_OR_NULL(comp)) { + info->snd_card.dapm_widgets = comp->widgets; + info->snd_card.num_dapm_widgets = comp->widgets_cnt; + } else if (IS_ERR(comp)) { + return PTR_ERR(comp); + } + /* DAPM routes */ if (of_property_read_bool(node, "simple-audio-card,routing")) { ret = snd_soc_of_parse_audio_routing(&info->snd_card,