--- a/drivers/tty/serial/8250/8250_core.c
+++ b/drivers/tty/serial/8250/8250_core.c
-@@ -438,6 +438,20 @@ static void mem_serial_out(struct uart_p
+@@ -446,6 +446,20 @@ static void mem_serial_out(struct uart_p
writeb(value, p->membase + offset);
}
static void mem32_serial_out(struct uart_port *p, int offset, int value)
{
offset = offset << p->regshift;
-@@ -505,6 +519,11 @@ static void set_io_from_upio(struct uart
+@@ -513,6 +527,11 @@ static void set_io_from_upio(struct uart
p->serial_out = mem32be_serial_out;
break;
#if defined(CONFIG_MIPS_ALCHEMY) || defined(CONFIG_SERIAL_8250_RT288X)
case UPIO_AU:
p->serial_in = au_serial_in;
-@@ -531,6 +550,7 @@ serial_port_out_sync(struct uart_port *p
+@@ -539,6 +558,7 @@ serial_port_out_sync(struct uart_port *p
case UPIO_MEM:
case UPIO_MEM32:
case UPIO_MEM32BE:
case UPIO_AU:
p->serial_out(p, offset, value);
p->serial_in(p, UART_LCR); /* safe, no side-effects */
-@@ -2768,6 +2788,7 @@ static int serial8250_request_std_resour
+@@ -2776,6 +2796,7 @@ static int serial8250_request_std_resour
case UPIO_MEM32:
case UPIO_MEM32BE:
case UPIO_MEM:
if (!port->mapbase)
break;
-@@ -2805,6 +2826,7 @@ static void serial8250_release_std_resou
+@@ -2813,6 +2834,7 @@ static void serial8250_release_std_resou
case UPIO_MEM32:
case UPIO_MEM32BE:
case UPIO_MEM:
if (!port->mapbase)
break;
-@@ -3693,6 +3715,7 @@ static int serial8250_probe(struct platf
+@@ -3701,6 +3723,7 @@ static int serial8250_probe(struct platf
uart.port.set_termios = p->set_termios;
uart.port.pm = p->pm;
uart.port.dev = &dev->dev;
uart.port.irqflags |= irqflag;
ret = serial8250_register_8250_port(&uart);
if (ret < 0) {
-@@ -3849,6 +3872,7 @@ int serial8250_register_8250_port(struct
+@@ -3857,6 +3880,7 @@ int serial8250_register_8250_port(struct
uart->bugs = up->bugs;
uart->port.mapbase = up->port.mapbase;
uart->port.mapsize = up->port.mapsize;