Use 'for_each_child_of_node' instead of hand writing it.
This saves a few line of code.

Signed-off-by: Christophe JAILLET <christophe.jail...@wanadoo.fr>
---
 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

Reply via email to