On Mon, 12 Aug 2024 15:33:58 +0200 Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx> wrote: > Use scoped for_each_available_child_of_node_scoped() when iterating over > device nodes to make code a bit simpler. > > Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx> Might be worth using dev_err_probe() in here. Otherwise LGTM Reviewed-by: Jonathan Cameron <Jonathan.Cameron@xxxxxxxxxx> > --- > drivers/memory/stm32-fmc2-ebi.c | 8 +------- > 1 file changed, 1 insertion(+), 7 deletions(-) > > diff --git a/drivers/memory/stm32-fmc2-ebi.c b/drivers/memory/stm32-fmc2-ebi.c > index 1c63eeacd071..7167e1da56d3 100644 > --- a/drivers/memory/stm32-fmc2-ebi.c > +++ b/drivers/memory/stm32-fmc2-ebi.c > @@ -1573,29 +1573,25 @@ static int stm32_fmc2_ebi_setup_cs(struct stm32_fmc2_ebi *ebi, > static int stm32_fmc2_ebi_parse_dt(struct stm32_fmc2_ebi *ebi) > { > struct device *dev = ebi->dev; > - struct device_node *child; > bool child_found = false; > u32 bank; > int ret; > > - for_each_available_child_of_node(dev->of_node, child) { > + for_each_available_child_of_node_scoped(dev->of_node, child) { > ret = of_property_read_u32(child, "reg", &bank); > if (ret) { > dev_err(dev, "could not retrieve reg property: %d\n", > ret); > - of_node_put(child); > return ret; return dev_err_probe(dev, "could not retrieve reg property\n"); perhaps? > } > > if (bank >= FMC2_MAX_BANKS) { > dev_err(dev, "invalid reg value: %d\n", bank); > - of_node_put(child); > return -EINVAL; > } > > if (ebi->bank_assigned & BIT(bank)) { > dev_err(dev, "bank already assigned: %d\n", bank); > - of_node_put(child); > return -EINVAL; > } > > @@ -1603,7 +1599,6 @@ static int stm32_fmc2_ebi_parse_dt(struct stm32_fmc2_ebi *ebi) > ret = ebi->data->check_rif(ebi, bank + 1); > if (ret) { > dev_err(dev, "bank access failed: %d\n", bank); > - of_node_put(child); > return ret; > } > } > @@ -1613,7 +1608,6 @@ static int stm32_fmc2_ebi_parse_dt(struct stm32_fmc2_ebi *ebi) > if (ret) { > dev_err(dev, "setup chip select %d failed: %d\n", > bank, ret); > - of_node_put(child); > return ret; > } > } >