[PATCH 1/4] cpuidle: psci: Simplify with scoped for each OF child loop

Jonathan Cameron Jonathan.Cameron at Huawei.com
Mon Aug 19 09:11:04 PDT 2024


On Fri, 16 Aug 2024 17:09:28 +0200
Krzysztof Kozlowski <krzysztof.kozlowski at 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 at linaro.org>
Looks fine,
FWIW
Reviewed-by: Jonathan Cameron <Jonathan.Cameron at 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++;
>  	}




More information about the linux-riscv mailing list