On Tue, 6 Jan 2026 10:04:29 +0000
Jonathan Cameron <[email protected]> wrote:

> On Mon, 05 Jan 2026 14:33:40 +0100
> Krzysztof Kozlowski <[email protected]> wrote:
> 
> > Use scoped for-each loop when iterating over device nodes to make code a
> > bit simpler.
> > 
> > Signed-off-by: Krzysztof Kozlowski <[email protected]>  
> Interesting bit of code. I guess there is some history here that didn't
> get captured as a comment?
> 
> > 
> > ---
> > 
> > Depends on the first patch.
> > ---
> >  arch/arm/mach-at91/pm.c | 7 ++-----
> >  1 file changed, 2 insertions(+), 5 deletions(-)
> > 
> > diff --git a/arch/arm/mach-at91/pm.c b/arch/arm/mach-at91/pm.c
> > index 35058b99069c..68bb4a86cd94 100644
> > --- a/arch/arm/mach-at91/pm.c
> > +++ b/arch/arm/mach-at91/pm.c
> > @@ -982,15 +982,12 @@ static void __init at91_pm_sram_init(void)
> >     struct gen_pool *sram_pool;
> >     phys_addr_t sram_pbase;
> >     unsigned long sram_base;
> > -   struct device_node *node;
> >     struct platform_device *pdev = NULL;
> >  
> > -   for_each_compatible_node(node, NULL, "mmio-sram") {
> > +   for_each_compatible_node_scoped(node, NULL, "mmio-sram") {
> >             pdev = of_find_device_by_node(node);
> > -           if (pdev) {
> > -                   of_node_put(node);
> > +           if (pdev)
> >                     break;
> > -  
>               }
> I'm curious if there are DT out there that ever causes the code to get to 
> here?  There might be multiple mmio-sram nodes but if there were seems 
> unlikely
> the driver wants which ever one has a pdev at a given point in time.
> That feels like a weird race condition. So in practice I'd expect this to
> always either get the first one, or none.
> e.g. Why this can't just be
> 
> node = of_find_node_by_name("mmio-sram);
ah. Not name obviously.  Need more coffee.
of_find_compatible_node()

> if (node) {
>       pdev = of_find_device_by_node(node);
> }
> 
> or something along those lines.
> 
> Given risk of a regression maybe better to do what you have here.
> So with that in mind
> Reviewed-by: Jonathan Cameron <[email protected]>
> 
> >     }
> >  
> >     if (!pdev) {
> >   
> 


Reply via email to