ASoC: audio-graph-card2: merge graph_parse_mclk_fs() into graph_link_init()
authorKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Tue, 28 May 2024 05:05:32 +0000 (05:05 +0000)
committerMark Brown <broonie@kernel.org>
Mon, 3 Jun 2024 14:59:37 +0000 (15:59 +0100)
Now graph_link_init() is parsing dai_link related property.
Let's handle mclk_fs on it, too.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Link: https://msgid.link/r/874jaih6g3.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/generic/audio-graph-card2.c

index bd714a6f74e615050dcf439357ab4a084fbabf65..8eea81888758014fe2b59a3943b6e44bbc23e58b 100644 (file)
@@ -389,20 +389,6 @@ static void graph_parse_convert(struct device_node *ep,
        of_node_put(ports);
 }
 
-static void graph_parse_mclk_fs(struct device_node *ep,
-                               struct simple_dai_props *props)
-{
-       struct device_node *port        = ep_to_port(ep);
-       struct device_node *ports       = port_to_ports(port);
-
-       of_property_read_u32(ports,     "mclk-fs", &props->mclk_fs);
-       of_property_read_u32(port,      "mclk-fs", &props->mclk_fs);
-       of_property_read_u32(ep,        "mclk-fs", &props->mclk_fs);
-
-       of_node_put(port);
-       of_node_put(ports);
-}
-
 static int __graph_parse_node(struct simple_util_priv *priv,
                              enum graph_type gtype,
                              struct device_node *ep,
@@ -424,8 +410,6 @@ static int __graph_parse_node(struct simple_util_priv *priv,
                dai = simple_props_to_dai_codec(dai_props, idx);
        }
 
-       graph_parse_mclk_fs(ep, dai_props);
-
        ret = graph_util_parse_dai(dev, ep, dlc, &is_single_links);
        if (ret < 0)
                return ret;
@@ -770,6 +754,7 @@ static void graph_link_init(struct simple_util_priv *priv,
                            int is_cpu_node)
 {
        struct snd_soc_dai_link *dai_link = simple_priv_to_link(priv, li->link);
+       struct simple_dai_props *dai_props = simple_priv_to_props(priv, li->link);
        struct device_node *ep_cpu, *ep_codec;
        struct device_node *ports_cpu, *ports_codec;
        unsigned int daifmt = 0, daiclk = 0;
@@ -813,6 +798,14 @@ static void graph_link_init(struct simple_util_priv *priv,
        graph_util_parse_link_direction(ep_cpu,         &playback_only, &capture_only);
        graph_util_parse_link_direction(ep_codec,       &playback_only, &capture_only);
 
+       of_property_read_u32(lnk,               "mclk-fs", &dai_props->mclk_fs);
+       of_property_read_u32(ports_cpu,         "mclk-fs", &dai_props->mclk_fs);
+       of_property_read_u32(ports_codec,       "mclk-fs", &dai_props->mclk_fs);
+       of_property_read_u32(port_cpu,          "mclk-fs", &dai_props->mclk_fs);
+       of_property_read_u32(port_codec,        "mclk-fs", &dai_props->mclk_fs);
+       of_property_read_u32(ep_cpu,            "mclk-fs", &dai_props->mclk_fs);
+       of_property_read_u32(ep_codec,          "mclk-fs", &dai_props->mclk_fs);
+
        /*
         * convert bit_frame
         * We need to flip clock_provider if it was CPU node,