]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
nvmem: Simplify with scoped for each OF child loop
authorKrzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
Fri, 16 Jan 2026 17:08:44 +0000 (17:08 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 26 Jan 2026 15:40:33 +0000 (16:40 +0100)
Use scoped for-each loop when iterating over device nodes to make code a
bit simpler.

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
Signed-off-by: Srinivas Kandagatla <srini@kernel.org>
Link: https://patch.msgid.link/20260116170846.733558-3-srini@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/nvmem/core.c

index ff68fd5ad3d6f2ef41a066273cc2058a1af1836d..c6180cf1dd9100772bc1729b300c1a3cad0587da 100644 (file)
@@ -789,11 +789,10 @@ static int nvmem_validate_keepouts(struct nvmem_device *nvmem)
 static int nvmem_add_cells_from_dt(struct nvmem_device *nvmem, struct device_node *np)
 {
        struct device *dev = &nvmem->dev;
-       struct device_node *child;
        const __be32 *addr;
        int len, ret;
 
-       for_each_child_of_node(np, child) {
+       for_each_child_of_node_scoped(np, child) {
                struct nvmem_cell_info info = {0};
 
                addr = of_get_property(child, "reg", &len);
@@ -801,7 +800,6 @@ static int nvmem_add_cells_from_dt(struct nvmem_device *nvmem, struct device_nod
                        continue;
                if (len < 2 * sizeof(u32)) {
                        dev_err(dev, "nvmem: invalid reg on %pOF\n", child);
-                       of_node_put(child);
                        return -EINVAL;
                }
 
@@ -817,7 +815,6 @@ static int nvmem_add_cells_from_dt(struct nvmem_device *nvmem, struct device_nod
                            info.nbits < 1 ||
                            info.bit_offset + info.nbits > BITS_PER_BYTE * info.bytes) {
                                dev_err(dev, "nvmem: invalid bits on %pOF\n", child);
-                               of_node_put(child);
                                return -EINVAL;
                        }
                }
@@ -830,7 +827,6 @@ static int nvmem_add_cells_from_dt(struct nvmem_device *nvmem, struct device_nod
                ret = nvmem_add_one_cell(nvmem, &info);
                kfree(info.name);
                if (ret) {
-                       of_node_put(child);
                        of_node_put(info.np);
                        return ret;
                }