[alsa-devel] [PATCHv2 3/6] ASoC: simple-card: simple audio card widgets getting

Xiubo Li Li.Xiubo at freescale.com
Mon Jan 13 06:53:55 CET 2014


Signed-off-by: Xiubo Li <Li.Xiubo at 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 b7dc63e..dbd93cc 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 snd_soc_widgets *wdg;
 	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);
 
+	wdg = snd_soc_get_widgets(node);
+	if (!IS_ERR_OR_NULL(wdg)) {
+		info->snd_card.dapm_widgets = wdg->widgets;
+		info->snd_card.num_dapm_widgets = wdg->cnt;
+	} else if (IS_ERR(wdg)) {
+		return PTR_ERR(wdg);
+	}
+
 	/* DAPM routes */
 	if (of_property_read_bool(node, "simple-audio-card,routing")) {
 		ret = snd_soc_of_parse_audio_routing(&info->snd_card,
-- 
1.8.4




More information about the Alsa-devel mailing list