[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <9faff0a3-0f3d-4e51-ab5b-0cf0204ee4fd@microchip.com>
Date: Wed, 24 Dec 2025 17:29:19 +0100
From: Nicolas Ferre <nicolas.ferre@...rochip.com>
To: Krzysztof Kozlowski <krzysztof.kozlowski@....qualcomm.com>, Aubin Constans
<aubin.constans@...rochip.com>, Ulf Hansson <ulf.hansson@...aro.org>,
Alexandre Belloni <alexandre.belloni@...tlin.com>, Claudiu Beznea
<claudiu.beznea@...on.dev>, Robert Richter <rric@...nel.org>, Paul Cercueil
<paul@...pouillou.net>, Andrew Jeffery <andrew@...econstruct.com.au>, "Adrian
Hunter" <adrian.hunter@...el.com>, Joel Stanley <joel@....id.au>, "Nathan
Chancellor" <nathan@...nel.org>, Nick Desaulniers
<nick.desaulniers+lkml@...il.com>, Bill Wendling <morbo@...gle.com>, "Justin
Stitt" <justinstitt@...gle.com>, <linux-mmc@...r.kernel.org>,
<linux-arm-kernel@...ts.infradead.org>, <linux-kernel@...r.kernel.org>,
<linux-mips@...r.kernel.org>, <linux-aspeed@...ts.ozlabs.org>,
<openbmc@...ts.ozlabs.org>, <llvm@...ts.linux.dev>
Subject: Re: [PATCH 1/4] mmc: atmel-mci: Simplify with scoped for each OF
child loop
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@....qualcomm.com>
Reviewed-by: Nicolas Ferre <nicolas.ferre@...rochip.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
>
Powered by blists - more mailing lists