serial: atmel: Use common rs485 device tree parsing function
authorSascha Hauer <s.hauer@pengutronix.de>
Wed, 13 Sep 2017 08:18:28 +0000 (10:18 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 18 Sep 2017 16:36:25 +0000 (18:36 +0200)
We just got a common helper for parsing the rs485 specific
device tree properties. Use it and drop the open coded parser.

Note that there is a small difference between the removed and the now
used implementation: The former cleared flags to 0 if rs485-rts-delay
was given, the common helper clears SER_RS485_RX_DURING_TX and
SER_RS485_ENABLED only but always which makes more sense.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
[ukleinek: point out semantic change in commit log]
Acked-by: Nicolas Ferre <nicolas.ferre@microchip.com>
Acked-by: Richard Genoud <richard.genoud@gmail.com>
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/serial/atmel_serial.c

index 7551cab..04e55f0 100644 (file)
@@ -1667,29 +1667,6 @@ static void atmel_init_property(struct atmel_uart_port *atmel_port,
        }
 }
 
-static void atmel_init_rs485(struct uart_port *port,
-                               struct platform_device *pdev)
-{
-       struct device_node *np = pdev->dev.of_node;
-
-       struct serial_rs485 *rs485conf = &port->rs485;
-       u32 rs485_delay[2];
-
-       /* rs485 properties */
-       if (of_property_read_u32_array(np, "rs485-rts-delay",
-                                      rs485_delay, 2) == 0) {
-               rs485conf->delay_rts_before_send = rs485_delay[0];
-               rs485conf->delay_rts_after_send = rs485_delay[1];
-               rs485conf->flags = 0;
-       }
-
-       if (of_get_property(np, "rs485-rx-during-tx", NULL))
-               rs485conf->flags |= SER_RS485_RX_DURING_TX;
-
-       if (of_get_property(np, "linux,rs485-enabled-at-boot-time", NULL))
-               rs485conf->flags |= SER_RS485_ENABLED;
-}
-
 static void atmel_set_ops(struct uart_port *port)
 {
        struct atmel_uart_port *atmel_port = to_atmel_uart_port(port);
@@ -2373,7 +2350,7 @@ static int atmel_init_port(struct atmel_uart_port *atmel_port,
        atmel_init_property(atmel_port, pdev);
        atmel_set_ops(port);
 
-       atmel_init_rs485(port, pdev);
+       of_get_rs485_mode(pdev->dev.of_node, &port->rs485);
 
        port->iotype            = UPIO_MEM;
        port->flags             = UPF_BOOT_AUTOCONF | UPF_IOREMAP;