[alsa-devel] [PATCH 2/4] ASoC: simple-card: simple audio card widgets getting

Xiubo Li Li.Xiubo at freescale.com
Wed Jan 8 08:02:34 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 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,
-- 
1.8.4




More information about the Alsa-devel mailing list