summaryrefslogtreecommitdiff
path: root/sound/soc/generic
diff options
context:
space:
mode:
authorKuninori Morimoto <kuninori.morimoto.gx@renesas.com>2024-05-28 08:05:48 +0300
committerMark Brown <broonie@kernel.org>2024-06-03 17:59:41 +0300
commita0174c88386b48bea7c35bc5a927f7057cb45d38 (patch)
treee701f9751a984e46f34acf81fd0e7c8bdc146e5e /sound/soc/generic
parentf23bac6e6913eed9eb831b4893255ea862d40ea5 (diff)
downloadlinux-a0174c88386b48bea7c35bc5a927f7057cb45d38.tar.xz
ASoC: audio-graph-card: merge graph_parse_mclk_fs() into graph_link_init()
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/87y17ufrv8.wl-kuninori.morimoto.gx@renesas.com Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'sound/soc/generic')
-rw-r--r--sound/soc/generic/audio-graph-card.c32
1 files changed, 13 insertions, 19 deletions
diff --git a/sound/soc/generic/audio-graph-card.c b/sound/soc/generic/audio-graph-card.c
index 6a19e40d2c4a..7b981aa8690a 100644
--- a/sound/soc/generic/audio-graph-card.c
+++ b/sound/soc/generic/audio-graph-card.c
@@ -94,29 +94,12 @@ static void graph_parse_convert(struct device *dev,
of_node_put(node);
}
-static void graph_parse_mclk_fs(struct device_node *top,
- 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(top, "mclk-fs", &props->mclk_fs);
- 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,
struct device_node *ep,
struct link_info *li,
int *cpu)
{
struct device *dev = simple_priv_to_dev(priv);
- struct device_node *top = dev->of_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 snd_soc_dai_link_component *dlc;
@@ -131,8 +114,6 @@ static int graph_parse_node(struct simple_util_priv *priv,
dai = simple_props_to_dai_codec(dai_props, 0);
}
- graph_parse_mclk_fs(top, ep, dai_props);
-
ret = graph_util_parse_dai(dev, ep, dlc, cpu);
if (ret < 0)
return ret;
@@ -157,8 +138,11 @@ static int graph_link_init(struct simple_util_priv *priv,
struct device *dev = simple_priv_to_dev(priv);
struct device_node *top = dev->of_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 *port_cpu = ep_to_port(ep_cpu);
struct device_node *port_codec = ep_to_port(ep_codec);
+ struct device_node *ports_cpu = port_to_ports(port_cpu);
+ struct device_node *ports_codec = port_to_ports(port_codec);
bool playback_only = 0, capture_only = 0;
int ret;
@@ -173,6 +157,14 @@ static int 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(top, "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);
+
dai_link->playback_only = playback_only;
dai_link->capture_only = capture_only;
@@ -183,6 +175,8 @@ static int graph_link_init(struct simple_util_priv *priv,
ret = simple_util_set_dailink_name(dev, dai_link, name);
init_end:
+ of_node_put(ports_cpu);
+ of_node_put(ports_codec);
of_node_put(port_cpu);
of_node_put(port_codec);