mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-29 11:11:45 -04:00
tty: amba-pl011: uart_amba_port is not available with earlycon function
Commit0e125a5fac("tty: amba-pl011: define flag register bits for ZTE device") changes earlycon function pl011_putc() to use a pointer to uart_amba_port. This causes a regression when earlycon is enabled, because uart_amba_port is not available yet at earlycon time. Let's revert the change on pl011_putc() to fix the regression. The earlycon support for ZTE device can probably be added later by declaring a new earlycon setup function with a vendor specific compatible. Reported-by: Sudeep Holla <[email protected]> Fixes:0e125a5fac("tty: amba-pl011: define flag register bits for ZTE device") Signed-off-by: Shawn Guo <[email protected]> Tested-by: Sudeep Holla <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
This commit is contained in:
parent
1664bc40d3
commit
e06690bff6
1 changed files with 1 additions and 4 deletions
|
|
@ -2330,16 +2330,13 @@ static struct console amba_console = {
|
|||
|
||||
static void pl011_putc(struct uart_port *port, int c)
|
||||
{
|
||||
struct uart_amba_port *uap =
|
||||
container_of(port, struct uart_amba_port, port);
|
||||
|
||||
while (readl(port->membase + UART01x_FR) & UART01x_FR_TXFF)
|
||||
cpu_relax();
|
||||
if (port->iotype == UPIO_MEM32)
|
||||
writel(c, port->membase + UART01x_DR);
|
||||
else
|
||||
writeb(c, port->membase + UART01x_DR);
|
||||
while (readl(port->membase + UART01x_FR) & uap->vendor->fr_busy)
|
||||
while (readl(port->membase + UART01x_FR) & UART01x_FR_BUSY)
|
||||
cpu_relax();
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue