From: Ruchika Kharwar Date: Mon, 8 Jul 2013 07:28:57 +0000 (+0300) Subject: OMAP: UART: Fix the revision register read. X-Git-Url: http://drtracing.org/?a=commitdiff_plain;h=76bac1987ca181d54f8c9456d20997cb1020af2d;p=deliverable%2Flinux.git 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 [oleksandr.savchenko@ti.com: add some whitespaces] Signed-off-by: Alexander Savchenko Signed-off-by: Greg Kroah-Hartman --- 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;