Message ID | 20240816150931.142208-1-krzysztof.kozlowski@linaro.org (mailing list archive) |
---|---|
State | New |
Delegated to: | Daniel Lezcano |
Headers | show |
Series | [1/4] cpuidle: psci: Simplify with scoped for each OF child loop | expand |
On Fri, 16 Aug 2024 17:09:28 +0200 Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> wrote: > 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> Looks fine, FWIW Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> If you are bored, the pr_err() at end of here seems like it should be return dev_err_probe(pdev->dev, ret, "failed to create CPU PM domains\n"); But that's obviously completely unrelated! > --- > drivers/cpuidle/cpuidle-psci-domain.c | 7 ++----- > 1 file changed, 2 insertions(+), 5 deletions(-) > > diff --git a/drivers/cpuidle/cpuidle-psci-domain.c b/drivers/cpuidle/cpuidle-psci-domain.c > index ea28b73ef3fb..146f97068022 100644 > --- a/drivers/cpuidle/cpuidle-psci-domain.c > +++ b/drivers/cpuidle/cpuidle-psci-domain.c > @@ -142,7 +142,6 @@ static const struct of_device_id psci_of_match[] = { > static int psci_cpuidle_domain_probe(struct platform_device *pdev) > { > struct device_node *np = pdev->dev.of_node; > - struct device_node *node; > bool use_osi = psci_has_osi_support(); > int ret = 0, pd_count = 0; > > @@ -153,15 +152,13 @@ static int psci_cpuidle_domain_probe(struct platform_device *pdev) > * Parse child nodes for the "#power-domain-cells" property and > * initialize a genpd/genpd-of-provider pair when it's found. > */ > - for_each_child_of_node(np, node) { > + for_each_child_of_node_scoped(np, node) { > if (!of_property_present(node, "#power-domain-cells")) > continue; > > ret = psci_pd_init(node, use_osi); > - if (ret) { > - of_node_put(node); > + if (ret) > goto exit; > - } > > pd_count++; > }
On Fri, 16 Aug 2024 at 17:09, Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> wrote: > > 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> Applied for next, thanks! Kind regards Uffe > --- > drivers/cpuidle/cpuidle-psci-domain.c | 7 ++----- > 1 file changed, 2 insertions(+), 5 deletions(-) > > diff --git a/drivers/cpuidle/cpuidle-psci-domain.c b/drivers/cpuidle/cpuidle-psci-domain.c > index ea28b73ef3fb..146f97068022 100644 > --- a/drivers/cpuidle/cpuidle-psci-domain.c > +++ b/drivers/cpuidle/cpuidle-psci-domain.c > @@ -142,7 +142,6 @@ static const struct of_device_id psci_of_match[] = { > static int psci_cpuidle_domain_probe(struct platform_device *pdev) > { > struct device_node *np = pdev->dev.of_node; > - struct device_node *node; > bool use_osi = psci_has_osi_support(); > int ret = 0, pd_count = 0; > > @@ -153,15 +152,13 @@ static int psci_cpuidle_domain_probe(struct platform_device *pdev) > * Parse child nodes for the "#power-domain-cells" property and > * initialize a genpd/genpd-of-provider pair when it's found. > */ > - for_each_child_of_node(np, node) { > + for_each_child_of_node_scoped(np, node) { > if (!of_property_present(node, "#power-domain-cells")) > continue; > > ret = psci_pd_init(node, use_osi); > - if (ret) { > - of_node_put(node); > + if (ret) > goto exit; > - } > > pd_count++; > } > -- > 2.43.0 >
diff --git a/drivers/cpuidle/cpuidle-psci-domain.c b/drivers/cpuidle/cpuidle-psci-domain.c index ea28b73ef3fb..146f97068022 100644 --- a/drivers/cpuidle/cpuidle-psci-domain.c +++ b/drivers/cpuidle/cpuidle-psci-domain.c @@ -142,7 +142,6 @@ static const struct of_device_id psci_of_match[] = { static int psci_cpuidle_domain_probe(struct platform_device *pdev) { struct device_node *np = pdev->dev.of_node; - struct device_node *node; bool use_osi = psci_has_osi_support(); int ret = 0, pd_count = 0; @@ -153,15 +152,13 @@ static int psci_cpuidle_domain_probe(struct platform_device *pdev) * Parse child nodes for the "#power-domain-cells" property and * initialize a genpd/genpd-of-provider pair when it's found. */ - for_each_child_of_node(np, node) { + for_each_child_of_node_scoped(np, node) { if (!of_property_present(node, "#power-domain-cells")) continue; ret = psci_pd_init(node, use_osi); - if (ret) { - of_node_put(node); + if (ret) goto exit; - } pd_count++; }
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> --- drivers/cpuidle/cpuidle-psci-domain.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-)