diff options
author | Jinjie Ruan <ruanjinjie@huawei.com> | 2024-08-26 14:24:06 +0800 |
---|---|---|
committer | Rob Herring (Arm) <robh@kernel.org> | 2024-08-26 10:50:46 -0500 |
commit | af7460d5e1868ca73e51339d218a88a22ccd2b62 (patch) | |
tree | ea5d8b436947d32e4f447c408c56068bd18d6144 /drivers/of | |
parent | 39ab331ab5d377a18fbf5a0e0b228205edfcc7f4 (diff) | |
download | lwn-af7460d5e1868ca73e51339d218a88a22ccd2b62.tar.gz lwn-af7460d5e1868ca73e51339d218a88a22ccd2b62.zip |
of: overlay: Simplify with scoped for each OF child loop
Use scoped for_each_child_of_node_scoped() when iterating over device
nodes to make code a bit simpler.
Signed-off-by: Jinjie Ruan <ruanjinjie@huawei.com>
Link: https://lore.kernel.org/r/20240826062408.2406734-2-ruanjinjie@huawei.com
Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
Diffstat (limited to 'drivers/of')
-rw-r--r-- | drivers/of/overlay.c | 12 |
1 files changed, 3 insertions, 9 deletions
diff --git a/drivers/of/overlay.c b/drivers/of/overlay.c index 4d861a75d694..cbdecccca097 100644 --- a/drivers/of/overlay.c +++ b/drivers/of/overlay.c @@ -472,7 +472,6 @@ static int add_changeset_node(struct overlay_changeset *ovcs, static int build_changeset_next_level(struct overlay_changeset *ovcs, struct target *target, const struct device_node *overlay_node) { - struct device_node *child; struct property *prop; int ret; @@ -485,12 +484,11 @@ static int build_changeset_next_level(struct overlay_changeset *ovcs, } } - for_each_child_of_node(overlay_node, child) { + for_each_child_of_node_scoped(overlay_node, child) { ret = add_changeset_node(ovcs, target, child); if (ret) { pr_debug("Failed to apply node @%pOF/%pOFn, err=%d\n", target->np, child, ret); - of_node_put(child); return ret; } } @@ -1078,16 +1076,12 @@ EXPORT_SYMBOL_GPL(of_overlay_fdt_apply); */ static int find_node(struct device_node *tree, struct device_node *np) { - struct device_node *child; - if (tree == np) return 1; - for_each_child_of_node(tree, child) { - if (find_node(child, np)) { - of_node_put(child); + for_each_child_of_node_scoped(tree, child) { + if (find_node(child, np)) return 1; - } } return 0; |