tty: amba-pl011: add helper to detect split LCRH register
authorRussell King <rmk+kernel@arm.linux.org.uk>
Tue, 3 Nov 2015 14:51:08 +0000 (14:51 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 14 Dec 2015 03:59:48 +0000 (19:59 -0800)
Add a helper to detect the split LCRH register found on ST variants.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Reviewed-by: Peter Hurley <peter@hurleysoftware.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/serial/amba-pl011.c

index 0e7f045b8f4f887e7ba7f30bdf887e6ace6611bf..c9ae0a144f10ee340a89ada8dd807373d7aa94da 100644 (file)
@@ -1576,10 +1576,15 @@ static int pl011_hwinit(struct uart_port *port)
        return 0;
 }
 
+static bool pl011_split_lcrh(const struct uart_amba_port *uap)
+{
+       return uap->lcrh_rx != uap->lcrh_tx;
+}
+
 static void pl011_write_lcr_h(struct uart_amba_port *uap, unsigned int lcr_h)
 {
        pl011_write(lcr_h, uap, uap->lcrh_rx);
-       if (uap->lcrh_rx != uap->lcrh_tx) {
+       if (pl011_split_lcrh(uap)) {
                int i;
                /*
                 * Wait 10 PCLKs before writing LCRH_TX register,
@@ -1713,7 +1718,7 @@ static void pl011_disable_uart(struct uart_amba_port *uap)
         * disable break condition and fifos
         */
        pl011_shutdown_channel(uap, uap->lcrh_rx);
-       if (uap->lcrh_rx != uap->lcrh_tx)
+       if (pl011_split_lcrh(uap))
                pl011_shutdown_channel(uap, uap->lcrh_tx);
 }