summaryrefslogtreecommitdiff
path: root/sound
diff options
context:
space:
mode:
authorJyri Sarha <jsarha@ti.com>2014-04-24 19:42:00 +0300
committerDarren Etheridge <detheridge@ti.com>2014-06-20 15:24:07 -0500
commitf74f333aa3d1f5e19ce1042a9a043647a369b2a2 (patch)
tree7aa30df425fb8bbc16757e0d2925cd2dd7bc35ca /sound
parentd5a7e6878c28ca7f320fc5e54d9aa51c33859c35 (diff)
ASoC: simple-card: is_top_level_node parameter to simple_card_dai_link_of()
[ Upstream commit 648722155dc081b019ab0ef548bbebde760a2b83 ] Restore correct parsing of dai-link subnodes with more explicit implementation for applying the "simple-audio-card,"-prefix to dai-link property and subnode names. Signed-off-by: Jyri Sarha <jsarha@ti.com> Signed-off-by: Mark Brown <broonie@linaro.org> Signed-off-by: Darren Etheridge <detheridge@ti.com>
Diffstat (limited to 'sound')
-rw-r--r--sound/soc/generic/simple-card.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/sound/soc/generic/simple-card.c b/sound/soc/generic/simple-card.c
index 98f97e543c2..06fe0e22b26 100644
--- a/sound/soc/generic/simple-card.c
+++ b/sound/soc/generic/simple-card.c
@@ -144,7 +144,8 @@ asoc_simple_card_sub_parse_of(struct device_node *np,
static int simple_card_dai_link_of(struct device_node *node,
struct device *dev,
struct snd_soc_dai_link *dai_link,
- struct simple_dai_props *dai_props)
+ struct simple_dai_props *dai_props,
+ bool is_top_level_node)
{
struct device_node *np = NULL;
struct device_node *bitclkmaster = NULL;
@@ -155,7 +156,8 @@ static int simple_card_dai_link_of(struct device_node *node,
char *prefix = "";
int ret;
- prefix = "simple-audio-card,";
+ if (is_top_level_node)
+ prefix = "simple-audio-card,";
daifmt = snd_soc_of_parse_daifmt(node, prefix,
&bitclkmaster, &framemaster);
@@ -307,14 +309,15 @@ static int asoc_simple_card_parse_of(struct device_node *node,
for (i = 0; (np = of_get_next_child(node, np)); i++) {
dev_dbg(dev, "\tlink %d:\n", i);
ret = simple_card_dai_link_of(np, dev, dai_link + i,
- dai_props + i);
+ dai_props + i, false);
if (ret < 0) {
of_node_put(np);
return ret;
}
}
} else {
- ret = simple_card_dai_link_of(node, dev, dai_link, dai_props);
+ ret = simple_card_dai_link_of(node, dev, dai_link, dai_props,
+ true);
if (ret < 0)
return ret;
}