[PATCH 1/4] mmc: atmel-mci: Simplify with scoped for each OF child loop
Krzysztof Kozlowski
krzysztof.kozlowski at oss.qualcomm.com
Wed Dec 24 04:44:32 PST 2025
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>
---
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