aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/tty/serial/omap-serial.c
diff options
context:
space:
mode:
authorRuchika Kharwar <ruchika@ti.com>2013-07-08 10:28:57 +0300
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2013-07-26 15:55:44 -0700
commit76bac1987ca181d54f8c9456d20997cb1020af2d (patch)
tree680b931935ce8538c593b71cec9b3c61d3ff5abf /drivers/tty/serial/omap-serial.c
parentOMAP: UART: Keep the TX fifo full when possible (diff)
downloadlinux-dev-76bac1987ca181d54f8c9456d20997cb1020af2d.tar.xz
linux-dev-76bac1987ca181d54f8c9456d20997cb1020af2d.zip
OMAP: UART: Fix the revision register read.
The revision register is a 32 bit register. The serial_in() function reads only the lower 16 bits of the register. This leads to an incorrect computation of the Module revision. Signed-off-by: Ruchika Kharwar <ruchika@ti.com> [oleksandr.savchenko@ti.com: add some whitespaces] Signed-off-by: Alexander Savchenko <oleksandr.savchenko@ti.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/tty/serial/omap-serial.c')
-rw-r--r--drivers/tty/serial/omap-serial.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/tty/serial/omap-serial.c b/drivers/tty/serial/omap-serial.c
index 9271a1dceec3..9b6fc54967f2 100644
--- a/drivers/tty/serial/omap-serial.c
+++ b/drivers/tty/serial/omap-serial.c
@@ -1344,7 +1344,7 @@ static void omap_serial_fill_features_erratas(struct uart_omap_port *up)
u32 mvr, scheme;
u16 revision, major, minor;
- mvr = serial_in(up, UART_OMAP_MVER);
+ mvr = readl(up->port.membase + (UART_OMAP_MVER << up->port.regshift));
/* Check revision register scheme */
scheme = mvr >> OMAP_UART_MVR_SCHEME_SHIFT;