Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9230372a authored by Alexander Shishkin's avatar Alexander Shishkin Committed by Tony Lindgren
Browse files

omap2/3: make serial_in_override() address the right uart port



Commit f62349ee makes it possible to
have some other than first uart port as ttyS0, which breaks the workaround
serial_in_override() function which will try to address the first uart
port (for ttyS0) and not the one that was initialized.

Signed-off-by: default avatarAlexander Shishkin <virtuoso@slind.org>
CC: Mika Westerberg <ext-mika.1.westerberg@nokia.com>
Acked-by: default avatarKevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
parent 66215949
Loading
Loading
Loading
Loading
+10 −2
Original line number Original line Diff line number Diff line
@@ -125,6 +125,13 @@ static struct plat_serial8250_port serial_platform_data3[] = {
	}
	}
};
};
#endif
#endif
static inline unsigned int __serial_read_reg(struct uart_port *up,
					   int offset)
{
	offset <<= up->regshift;
	return (unsigned int)__raw_readb(up->membase + offset);
}

static inline unsigned int serial_read_reg(struct plat_serial8250_port *up,
static inline unsigned int serial_read_reg(struct plat_serial8250_port *up,
					   int offset)
					   int offset)
{
{
@@ -583,11 +590,12 @@ static unsigned int serial_in_override(struct uart_port *up, int offset)
{
{
	if (UART_RX == offset) {
	if (UART_RX == offset) {
		unsigned int lsr;
		unsigned int lsr;
		lsr = serial_read_reg(omap_uart[up->line].p, UART_LSR);
		lsr = __serial_read_reg(up, UART_LSR);
		if (!(lsr & UART_LSR_DR))
		if (!(lsr & UART_LSR_DR))
			return -EPERM;
			return -EPERM;
	}
	}
	return serial_read_reg(omap_uart[up->line].p, offset);

	return __serial_read_reg(up, offset);
}
}


void __init omap_serial_early_init(void)
void __init omap_serial_early_init(void)