]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
pmdomain: imx: gpc: Simplify with scoped for each OF child loop
authorKrzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Fri, 23 Aug 2024 12:51:07 +0000 (14:51 +0200)
committerUlf Hansson <ulf.hansson@linaro.org>
Fri, 13 Sep 2024 10:21:04 +0000 (12:21 +0200)
Use scoped for_each_child_of_node_scoped() when iterating over device
nodes to make code a bit simpler.

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/r/20240823-cleanup-h-guard-pm-domain-v1-3-8320722eaf39@linaro.org
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
drivers/pmdomain/imx/gpc.c

index 9517cce93d8a3963ff4e5c0347473fdbd74d30a2..80a4dcc77199cfa98f6533c20a4f1cbf0286a7b3 100644 (file)
@@ -455,7 +455,6 @@ static int imx_gpc_probe(struct platform_device *pdev)
        } else {
                struct imx_pm_domain *domain;
                struct platform_device *pd_pdev;
-               struct device_node *np;
                struct clk *ipg_clk;
                unsigned int ipg_rate_mhz;
                int domain_index;
@@ -465,28 +464,24 @@ static int imx_gpc_probe(struct platform_device *pdev)
                        return PTR_ERR(ipg_clk);
                ipg_rate_mhz = clk_get_rate(ipg_clk) / 1000000;
 
-               for_each_child_of_node(pgc_node, np) {
+               for_each_child_of_node_scoped(pgc_node, np) {
                        ret = of_property_read_u32(np, "reg", &domain_index);
-                       if (ret) {
-                               of_node_put(np);
+                       if (ret)
                                return ret;
-                       }
+
                        if (domain_index >= of_id_data->num_domains)
                                continue;
 
                        pd_pdev = platform_device_alloc("imx-pgc-power-domain",
                                                        domain_index);
-                       if (!pd_pdev) {
-                               of_node_put(np);
+                       if (!pd_pdev)
                                return -ENOMEM;
-                       }
 
                        ret = platform_device_add_data(pd_pdev,
                                                       &imx_gpc_domains[domain_index],
                                                       sizeof(imx_gpc_domains[domain_index]));
                        if (ret) {
                                platform_device_put(pd_pdev);
-                               of_node_put(np);
                                return ret;
                        }
                        domain = pd_pdev->dev.platform_data;
@@ -500,7 +495,6 @@ static int imx_gpc_probe(struct platform_device *pdev)
                        ret = platform_device_add(pd_pdev);
                        if (ret) {
                                platform_device_put(pd_pdev);
-                               of_node_put(np);
                                return ret;
                        }
                }