Use 'for_each_child_of_node' instead of hand writing it. This saves a few line of code. Signed-off-by: Christophe JAILLET <christophe.jaillet@xxxxxxxxxx> --- drivers/staging/octeon/ethernet.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/drivers/staging/octeon/ethernet.c b/drivers/staging/octeon/ethernet.c index da7c2cd8ebb8..dcbba9621b21 100644 --- a/drivers/staging/octeon/ethernet.c +++ b/drivers/staging/octeon/ethernet.c @@ -610,14 +610,11 @@ static const struct net_device_ops cvm_oct_pow_netdev_ops = { static struct device_node *cvm_oct_of_get_child (const struct device_node *parent, int reg_val) { - struct device_node *node = NULL; - int size; + struct device_node *node; const __be32 *addr; + int size; - for (;;) { - node = of_get_next_child(parent, node); - if (!node) - break; + for_each_child_of_node(parent, node) { addr = of_get_property(node, "reg", &size); if (addr && (be32_to_cpu(*addr) == reg_val)) break; -- 2.27.0