[PATCH 06/11] cdx: Simplify with scoped for each OF child loop
Jonathan Cameron
jonathan.cameron at huawei.com
Tue Jan 6 21:17:33 AEDT 2026
On Mon, 05 Jan 2026 14:33:44 +0100
Krzysztof Kozlowski <krzysztof.kozlowski at oss.qualcomm.com> wrote:
> Use scoped for-each loop when iterating over device nodes to make code a
> bit simpler.
>
> Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski at oss.qualcomm.com>
I'd be tempted to make one more tweak in this one to bring
it inline with the suggestions around not combining scoped cleanups
with gotos (see the comments in cleanup.h)
No bug here, just nice to have.
>
> ---
>
> Depends on the first patch.
> ---
> drivers/cdx/cdx.c | 4 +---
> 1 file changed, 1 insertion(+), 3 deletions(-)
>
> diff --git a/drivers/cdx/cdx.c b/drivers/cdx/cdx.c
> index b39af2f1937f..bbde529aaa93 100644
> --- a/drivers/cdx/cdx.c
> +++ b/drivers/cdx/cdx.c
> @@ -608,7 +608,6 @@ static ssize_t rescan_store(const struct bus_type *bus,
> {
> struct cdx_controller *cdx;
> struct platform_device *pd;
> - struct device_node *np;
> bool val;
>
> if (kstrtobool(buf, &val) < 0)
> @@ -623,10 +622,9 @@ static ssize_t rescan_store(const struct bus_type *bus,
> cdx_unregister_devices(&cdx_bus_type);
>
> /* Rescan all the devices */
> - for_each_compatible_node(np, NULL, compat_node_name) {
> + for_each_compatible_node_scoped(np, NULL, compat_node_name) {
> pd = of_find_device_by_node(np);
> if (!pd) {
> - of_node_put(np);
> count = -EINVAL;
> goto unlock;
break instead.
Or better yet a follow up patch to use guard() for the mutex allowing a
direct return here.
> }
>
More information about the Linuxppc-dev
mailing list