]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
soc/tegra: pmc: Simplify with scoped for each OF child loop
authorJinjie Ruan <ruanjinjie@huawei.com>
Tue, 27 Aug 2024 11:46:04 +0000 (19:46 +0800)
committerThierry Reding <treding@nvidia.com>
Thu, 29 Aug 2024 15:43:43 +0000 (17:43 +0200)
Use scoped for_each_child_of_node_scoped() when iterating over device
nodes to make code a bit simpler.

Signed-off-by: Jinjie Ruan <ruanjinjie@huawei.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
drivers/soc/tegra/pmc.c

index 6c37d6eb8b495ca9d2f72dd45e512fad8e71bdf8..a08c377933c5052f6a1a8081e05cb4905870d507 100644 (file)
@@ -1438,7 +1438,7 @@ static int tegra_powergate_init(struct tegra_pmc *pmc,
                                struct device_node *parent)
 {
        struct of_phandle_args child_args, parent_args;
-       struct device_node *np, *child;
+       struct device_node *np;
        int err = 0;
 
        /*
@@ -1457,12 +1457,10 @@ static int tegra_powergate_init(struct tegra_pmc *pmc,
        if (!np)
                return 0;
 
-       for_each_child_of_node(np, child) {
+       for_each_child_of_node_scoped(np, child) {
                err = tegra_powergate_add(pmc, child);
-               if (err < 0) {
-                       of_node_put(child);
+               if (err < 0)
                        break;
-               }
 
                if (of_parse_phandle_with_args(child, "power-domains",
                                               "#power-domain-cells",
@@ -1474,10 +1472,8 @@ static int tegra_powergate_init(struct tegra_pmc *pmc,
 
                err = of_genpd_add_subdomain(&parent_args, &child_args);
                of_node_put(parent_args.np);
-               if (err) {
-                       of_node_put(child);
+               if (err)
                        break;
-               }
        }
 
        of_node_put(np);