summaryrefslogtreecommitdiff
path: root/drivers/of/base.c
diff options
context:
space:
mode:
author권오훈 <ohoono.kwon@samsung.com>2021-07-01 23:03:28 +0900
committerRob Herring <robh@kernel.org>2021-07-15 07:35:49 -0600
commitace1c4b5c412d21b41329c723acce248a503bad4 (patch)
tree949ced11d449edd863814689053c6a84195a472b /drivers/of/base.c
parent2720b991337d530b87095f62631e462efa1685cb (diff)
downloadlwn-ace1c4b5c412d21b41329c723acce248a503bad4.tar.gz
lwn-ace1c4b5c412d21b41329c723acce248a503bad4.zip
of: base: remove unnecessary for loop
In __of_get_next_child function, loop iteration for getting next node is unnecessary. for loop is already checking if next is NULL or not, and of_node_get(next) always returns next itself. Therefore checking return value in the if clause always evaluates to true, and thus it always breaks out from for loop in the first iteration. Remove the unnecessary for loop for readability. I tested the code as below, and it showed that BUG was never called. - for (; next; next = next->sibling) + for (; next; next = next->sibling) { if (of_node_get(next)) break; + BUG(); + } Signed-off-by: Ohhoon Kwon <ohoono.kwon@samsung.com> Link: https://lore.kernel.org/r/20210701140328epcms1p85149318b6c18fa18b3c7c8e966c14db0@epcms1p8 Signed-off-by: Rob Herring <robh@kernel.org>
Diffstat (limited to 'drivers/of/base.c')
-rw-r--r--drivers/of/base.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/drivers/of/base.c b/drivers/of/base.c
index 48e941f99558..ca60988ef428 100644
--- a/drivers/of/base.c
+++ b/drivers/of/base.c
@@ -708,9 +708,7 @@ static struct device_node *__of_get_next_child(const struct device_node *node,
return NULL;
next = prev ? prev->sibling : node->child;
- for (; next; next = next->sibling)
- if (of_node_get(next))
- break;
+ of_node_get(next);
of_node_put(prev);
return next;
}