diff options
author | Nandor Han <nandor.han@ge.com> | 2017-06-28 15:59:36 +0200 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2017-06-29 17:08:01 +0200 |
commit | 6376cd39ea0b9a56c3ddfb8c794b7322a7029b63 (patch) | |
tree | 1fb9d5c8fe679a3deeb2241209f989f60b0b1e83 | |
parent | serial: imx: Remove unused members from imx_port struct (diff) | |
download | linux-6376cd39ea0b9a56c3ddfb8c794b7322a7029b63.tar.xz linux-6376cd39ea0b9a56c3ddfb8c794b7322a7029b63.zip |
serial: imx: Enable RTSD only when needed
Currently, this IRQ is always enabled. Some devices might mux these pins
to other I/Os, like I2C. This could lead to spurious interrupts.
This commit makes this IRQ optional, by using the field have_rtscts.
Signed-off-by: Nandor Han <nandor.han@ge.com>
Signed-off-by: Romain Perier <romain.perier@collabora.com>
Reviewed-by: Fabio Estevam <fabio.estevam@nxp.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r-- | drivers/tty/serial/imx.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/tty/serial/imx.c b/drivers/tty/serial/imx.c index cbaf85212074..e33da75ceac5 100644 --- a/drivers/tty/serial/imx.c +++ b/drivers/tty/serial/imx.c @@ -1299,7 +1299,9 @@ static int imx_startup(struct uart_port *port) imx_enable_dma(sport); temp = readl(sport->port.membase + UCR1); - temp |= UCR1_RRDYEN | UCR1_RTSDEN | UCR1_UARTEN; + temp |= UCR1_RRDYEN | UCR1_UARTEN; + if (sport->have_rtscts) + temp |= UCR1_RTSDEN; writel(temp, sport->port.membase + UCR1); |