CPU/Codec in DPCM DAI links are connected as CPU<->Dummy and Dummy<->Codec. Though mostly CPU won't use/require 'mclk-fs' property, looping over 'np' (current child node in a DAI link) can help in cases where multiple Codecs are defined. This further helps to get rid of 'codec' argument from simple_dai_link_of_dpcm() function, which gets called for DPCM links. Signed-off-by: Sameer Pujar <spujar@xxxxxxxxxx> --- sound/soc/generic/simple-card.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/sound/soc/generic/simple-card.c b/sound/soc/generic/simple-card.c index 39cdc71..02d6295 100644 --- a/sound/soc/generic/simple-card.c +++ b/sound/soc/generic/simple-card.c @@ -107,7 +107,9 @@ static void simple_parse_mclk_fs(struct device_node *top, snprintf(prop, sizeof(prop), "%smclk-fs", prefix); of_property_read_u32(node, prop, &props->mclk_fs); of_property_read_u32(cpu, prop, &props->mclk_fs); - of_property_read_u32(codec, prop, &props->mclk_fs); + + if (cpu != codec) + of_property_read_u32(codec, prop, &props->mclk_fs); of_node_put(node); } @@ -220,7 +222,7 @@ static int simple_dai_link_of_dpcm(struct asoc_simple_priv *priv, } simple_parse_convert(dev, np, &dai_props->adata); - simple_parse_mclk_fs(top, np, codec, dai_props, prefix); + simple_parse_mclk_fs(top, np, np, dai_props, prefix); asoc_simple_canonicalize_platform(dai_link); -- 2.7.4