[PATCH 1/4] mmc: atmel-mci: Simplify with scoped for each OF child loop
Nicolas Ferre
nicolas.ferre at microchip.com
Wed Dec 24 08:29:19 PST 2025
On 24/12/2025 at 13:44, Krzysztof Kozlowski 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>
Reviewed-by: Nicolas Ferre <nicolas.ferre at microchip.com>
Thanks Krzysztof, best regards,
Nicolas
> ---
> drivers/mmc/host/atmel-mci.c | 12 +++---------
> 1 file changed, 3 insertions(+), 9 deletions(-)
>
> diff --git a/drivers/mmc/host/atmel-mci.c b/drivers/mmc/host/atmel-mci.c
> index fdf6926ea468..3b4928f5b9b2 100644
> --- a/drivers/mmc/host/atmel-mci.c
> +++ b/drivers/mmc/host/atmel-mci.c
> @@ -629,14 +629,13 @@ static int atmci_of_init(struct atmel_mci *host)
> {
> struct device *dev = host->dev;
> struct device_node *np = dev->of_node;
> - struct device_node *cnp;
> u32 slot_id;
> int err;
>
> if (!np)
> return dev_err_probe(dev, -EINVAL, "device node not found\n");
>
> - for_each_child_of_node(np, cnp) {
> + for_each_child_of_node_scoped(np, cnp) {
> if (of_property_read_u32(cnp, "reg", &slot_id)) {
> dev_warn(dev, "reg property is missing for %pOF\n", cnp);
> continue;
> @@ -645,7 +644,6 @@ static int atmci_of_init(struct atmel_mci *host)
> if (slot_id >= ATMCI_MAX_NR_SLOTS) {
> dev_warn(dev, "can't have more than %d slots\n",
> ATMCI_MAX_NR_SLOTS);
> - of_node_put(cnp);
> break;
> }
>
> @@ -658,10 +656,8 @@ static int atmci_of_init(struct atmel_mci *host)
> "cd", GPIOD_IN, "cd-gpios");
> err = PTR_ERR_OR_ZERO(host->pdata[slot_id].detect_pin);
> if (err) {
> - if (err != -ENOENT) {
> - of_node_put(cnp);
> + if (err != -ENOENT)
> return err;
> - }
> host->pdata[slot_id].detect_pin = NULL;
> }
>
> @@ -673,10 +669,8 @@ static int atmci_of_init(struct atmel_mci *host)
> "wp", GPIOD_IN, "wp-gpios");
> err = PTR_ERR_OR_ZERO(host->pdata[slot_id].wp_pin);
> if (err) {
> - if (err != -ENOENT) {
> - of_node_put(cnp);
> + if (err != -ENOENT)
> return err;
> - }
> host->pdata[slot_id].wp_pin = NULL;
> }
> }
> --
> 2.51.0
>
More information about the linux-arm-kernel
mailing list