]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
media: xilinx-vipp: Use for_each_child_of_node_scoped()
authorJinjie Ruan <ruanjinjie@huawei.com>
Fri, 23 Aug 2024 09:02:17 +0000 (17:02 +0800)
committerHans Verkuil <hverkuil@xs4all.nl>
Tue, 17 Jun 2025 08:51:34 +0000 (10:51 +0200)
Avoids the need for manual cleanup of_node_put() in early exits
from the loop.

Signed-off-by: Jinjie Ruan <ruanjinjie@huawei.com>
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
drivers/media/platform/xilinx/xilinx-vipp.c

index 024b439feec92c4a2bfdb4d8fd04ad495e90dc1e..30675f6814100478403f27fd761c0fe1e765ac6a 100644 (file)
@@ -450,7 +450,6 @@ static int xvip_graph_dma_init_one(struct xvip_composite_device *xdev,
 static int xvip_graph_dma_init(struct xvip_composite_device *xdev)
 {
        struct device_node *ports;
-       struct device_node *port;
        int ret = 0;
 
        ports = of_get_child_by_name(xdev->dev->of_node, "ports");
@@ -459,12 +458,10 @@ static int xvip_graph_dma_init(struct xvip_composite_device *xdev)
                return -EINVAL;
        }
 
-       for_each_child_of_node(ports, port) {
+       for_each_child_of_node_scoped(ports, port) {
                ret = xvip_graph_dma_init_one(xdev, port);
-               if (ret) {
-                       of_node_put(port);
+               if (ret)
                        break;
-               }
        }
 
        of_node_put(ports);