ASoC: simple-scu-card: tidyup "prefix" parsing
authorKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Thu, 22 Nov 2018 00:55:40 +0000 (00:55 +0000)
committerMark Brown <broonie@kernel.org>
Fri, 23 Nov 2018 14:01:49 +0000 (14:01 +0000)
simple-scu-card.c is supporting "prefix" which is used to avoid
DAI naming conflict when CPU/Codec matching.
But, sound card might have multi sub-devices, and each codec might need
each prefix.

Now, ASoC is supporting snd_soc_of_parse_node_prefix(), let's support
it on audio-graph-scu-card, too. It is keeping existing DT style.

It can't support each codec's prefix if sound card had multi sub-devices
without this patch.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/generic/simple-scu-card.c

index e650143eb5320d6ca7bb7b1d33a6425a37c2a3ee..7ae1901b2f851857c1b00193955f8f9c2bd0f1c0 100644 (file)
@@ -157,10 +157,17 @@ static int asoc_simple_card_dai_link_of(struct device_node *np,
                if (ret < 0)
                        return ret;
 
+               /* check "prefix" from top node */
                snd_soc_of_parse_audio_prefix(card,
                                              &priv->codec_conf,
                                              dai_link->codecs->of_node,
                                              PREFIX "prefix");
+               /* check "prefix" from each node if top doesn't have */
+               if (!priv->codec_conf.of_node)
+                       snd_soc_of_parse_node_prefix(np,
+                                                    &priv->codec_conf,
+                                                    dai_link->codecs->of_node,
+                                                    "prefix");
        }
 
        ret = asoc_simple_card_of_parse_tdm(np, &dai_props->dai);