w/drivers/tty/serial/amba-pl011.c
@@ -2330,8 +2330,7 @@ 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);
+ struct vendor_data *vendor = port->private_data;
while (readl(port->membase + UART01x_FR) & UART01x_FR_TXFF)
cpu_relax();
@@ -2339,7 +2338,7 @@ static void pl011_putc(struct uart_port *port, int c)
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) & vendor->fr_busy)
cpu_relax();
}
@@ -2356,6 +2355,7 @@ static int __init pl011_early_console_setup(struct
earlycon_device *device,
if (!device->port.membase)
return -ENODEV;
+ device->port.private_data = &vendor_arm;
device->con->write = pl011_early_write;
return 0;