Use scoped for_each_child_of_node_scoped() when iterating over device
nodes to make code a bit simpler.

Signed-off-by: Jinjie Ruan <ruanjin...@huawei.com>
---
 drivers/soc/tegra/pmc.c | 12 ++++--------
 1 file changed, 4 insertions(+), 8 deletions(-)

diff --git a/drivers/soc/tegra/pmc.c b/drivers/soc/tegra/pmc.c
index 6c37d6eb8b49..a08c377933c5 100644
--- a/drivers/soc/tegra/pmc.c
+++ b/drivers/soc/tegra/pmc.c
@@ -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);
-- 
2.34.1


Reply via email to