diff options
author | Russell King <rmk+kernel@arm.linux.org.uk> | 2015-11-03 14:51:08 +0000 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2015-12-13 19:59:48 -0800 |
commit | 7fe9a5a9d91f0e9ac65c723665bbdf899c3a4a24 (patch) | |
tree | 565eaef0132cf37cad0417a02bd8bf21c6e1c378 /drivers/tty/serial/amba-pl011.c | |
parent | b2a4e24c2efd76a2c25478836fb35951e00d5b52 (diff) | |
download | lwn-7fe9a5a9d91f0e9ac65c723665bbdf899c3a4a24.tar.gz lwn-7fe9a5a9d91f0e9ac65c723665bbdf899c3a4a24.zip |
tty: amba-pl011: add helper to detect split LCRH register
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>
Diffstat (limited to 'drivers/tty/serial/amba-pl011.c')
-rw-r--r-- | drivers/tty/serial/amba-pl011.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/drivers/tty/serial/amba-pl011.c b/drivers/tty/serial/amba-pl011.c index 0e7f045b8f4f..c9ae0a144f10 100644 --- a/drivers/tty/serial/amba-pl011.c +++ b/drivers/tty/serial/amba-pl011.c @@ -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); } |