summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZhang Zekun <zhangzekun11@huawei.com>2024-08-27 10:06:49 +0300
committerMark Brown <broonie@kernel.org>2024-09-04 20:31:14 +0300
commitde849243404e8ce02320a7178d4448e4d0191377 (patch)
treec2068e6f2f28fcf7eb07af8e43fb5f5f1ff931a0
parent7c626ce4bae1ac14f60076d00eafe71af30450ba (diff)
downloadlinux-de849243404e8ce02320a7178d4448e4d0191377.tar.xz
ASoC: audio-graph-card: Use for_each_child_of_node_scoped() to simplify code
for_each_child_of_node_scoped() can put the device_node automatically. So, using it to make the code logic more simple and remove the device_node clean up code. Signed-off-by: Zhang Zekun <zhangzekun11@huawei.com> Reviewed-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Link: https://patch.msgid.link/20240827070650.11424-2-zhangzekun11@huawei.com Signed-off-by: Mark Brown <broonie@kernel.org>
-rw-r--r--sound/soc/generic/audio-graph-card.c12
1 files changed, 2 insertions, 10 deletions
diff --git a/sound/soc/generic/audio-graph-card.c b/sound/soc/generic/audio-graph-card.c
index 3425fbbcbd7e..30152a681aa8 100644
--- a/sound/soc/generic/audio-graph-card.c
+++ b/sound/soc/generic/audio-graph-card.c
@@ -363,7 +363,6 @@ static int __graph_for_each_link(struct simple_util_priv *priv,
struct device *dev = simple_priv_to_dev(priv);
struct device_node *node = dev->of_node;
struct device_node *cpu_port;
- struct device_node *cpu_ep;
struct device_node *codec_ep;
struct device_node *codec_port;
struct device_node *codec_port_old = NULL;
@@ -373,14 +372,9 @@ static int __graph_for_each_link(struct simple_util_priv *priv,
/* loop for all listed CPU port */
of_for_each_phandle(&it, rc, node, "dais", NULL, 0) {
cpu_port = it.node;
- cpu_ep = NULL;
/* loop for all CPU endpoint */
- while (1) {
- cpu_ep = of_get_next_child(cpu_port, cpu_ep);
- if (!cpu_ep)
- break;
-
+ for_each_child_of_node_scoped(cpu_port, cpu_ep) {
/* get codec */
codec_ep = of_graph_get_remote_endpoint(cpu_ep);
codec_port = ep_to_port(codec_ep);
@@ -410,10 +404,8 @@ static int __graph_for_each_link(struct simple_util_priv *priv,
of_node_put(codec_ep);
of_node_put(codec_port);
- if (ret < 0) {
- of_node_put(cpu_ep);
+ if (ret < 0)
return ret;
- }
codec_port_old = codec_port;
}