tty: serial: cpm_uart: make use of for_each_node_by_type()
authorDmitry Torokhov <dmitry.torokhov@gmail.com>
Wed, 1 Feb 2017 23:20:12 +0000 (15:20 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 3 Feb 2017 09:12:16 +0000 (10:12 +0100)
Instead of open-coding loop with of_find_node_by_type(), let's use canned
macro.

Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/serial/cpm_uart/cpm_uart_core.c

index d3e3d42..f6bcc19 100644 (file)
@@ -1302,7 +1302,7 @@ static int __init cpm_uart_console_setup(struct console *co, char *options)
        struct uart_cpm_port *pinfo;
        struct uart_port *port;
 
-       struct device_node *np = NULL;
+       struct device_node *np;
        int i = 0;
 
        if (co->index >= UART_NR) {
@@ -1311,17 +1311,19 @@ static int __init cpm_uart_console_setup(struct console *co, char *options)
                return -ENODEV;
        }
 
-       do {
-               np = of_find_node_by_type(np, "serial");
-               if (!np)
-                       return -ENODEV;
-
+       for_each_node_by_type(np, "serial") {
                if (!of_device_is_compatible(np, "fsl,cpm1-smc-uart") &&
                    !of_device_is_compatible(np, "fsl,cpm1-scc-uart") &&
                    !of_device_is_compatible(np, "fsl,cpm2-smc-uart") &&
                    !of_device_is_compatible(np, "fsl,cpm2-scc-uart"))
-                       i--;
-       } while (i++ != co->index);
+                       continue;
+
+               if (i++ == co->index)
+                       break;
+       }
+
+       if (!np)
+               return -ENODEV;
 
        pinfo = &cpm_uart_ports[co->index];