diff --git a/drivers/serial/8250.c b/drivers/serial/8250.c index 784d9d3..40c9097 100644 --- a/drivers/serial/8250.c +++ b/drivers/serial/8250.c @@ -311,12 +311,8 @@ static unsigned int serial_in(struct uar return readb(up->port.membase + offset); case UPIO_MEM32: - return readl(up->port.membase + offset); - -#ifdef CONFIG_SERIAL_8250_AU1X00 case UPIO_AU: - return __raw_readl(up->port.membase + offset); -#endif + return readl(up->port.membase + offset); default: return inb(up->port.iobase + offset); @@ -339,14 +335,9 @@ serial_out(struct uart_8250_port *up, in break; case UPIO_MEM32: - writel(value, up->port.membase + offset); - break; - -#ifdef CONFIG_SERIAL_8250_AU1X00 case UPIO_AU: - __raw_writel(value, up->port.membase + offset); + writel(value, up->port.membase + offset); break; -#endif default: outb(value, up->port.iobase + offset); @@ -380,7 +371,7 @@ static inline void _serial_dl_write(stru static int serial_dl_read(struct uart_8250_port *up) { if (up->port.iotype == UPIO_AU) - return __raw_readl(up->port.membase + 0x28); + return readl(up->port.membase + 0x28); else return _serial_dl_read(up); } @@ -388,7 +379,7 @@ static int serial_dl_read(struct uart_82 static void serial_dl_write(struct uart_8250_port *up, int value) { if (up->port.iotype == UPIO_AU) - __raw_writel(value, up->port.membase + 0x28); + writel(value, up->port.membase + 0x28); else _serial_dl_write(up, value); } diff --git a/drivers/serial/8250_au1x00.c b/drivers/serial/8250_au1x00.c index 58015fd..9d0f1be 100644 --- a/drivers/serial/8250_au1x00.c +++ b/drivers/serial/8250_au1x00.c @@ -29,36 +29,36 @@ #define PORT(_base, _irq) \ { \ .iobase = _base, \ - .membase = (void __iomem *)_base,\ - .mapbase = CPHYSADDR(_base), \ + .mapbase = _base, \ .irq = _irq, \ .uartclk = 0, /* filled */ \ .regshift = 2, \ .iotype = UPIO_AU, \ - .flags = UPF_SKIP_TEST \ + .flags = UPF_SKIP_TEST | \ + UPF_IOREMAP \ } static struct plat_serial8250_port au1x00_data[] = { #if defined(CONFIG_SOC_AU1000) - PORT(UART0_ADDR, AU1000_UART0_INT), - PORT(UART1_ADDR, AU1000_UART1_INT), - PORT(UART2_ADDR, AU1000_UART2_INT), - PORT(UART3_ADDR, AU1000_UART3_INT), + PORT(UART0_PHYS_ADDR, AU1000_UART0_INT), + PORT(UART1_PHYS_ADDR, AU1000_UART1_INT), + PORT(UART2_PHYS_ADDR, AU1000_UART2_INT), + PORT(UART3_PHYS_ADDR, AU1000_UART3_INT), #elif defined(CONFIG_SOC_AU1500) - PORT(UART0_ADDR, AU1500_UART0_INT), - PORT(UART3_ADDR, AU1500_UART3_INT), + PORT(UART0_PHYS_ADDR, AU1500_UART0_INT), + PORT(UART3_PHYS_ADDR, AU1500_UART3_INT), #elif defined(CONFIG_SOC_AU1100) - PORT(UART0_ADDR, AU1100_UART0_INT), - PORT(UART1_ADDR, AU1100_UART1_INT), + PORT(UART0_PHYS_ADDR, AU1100_UART0_INT), + PORT(UART1_PHYS_ADDR, AU1100_UART1_INT), /* The internal UART2 does not exist on the AU1100 processor. */ - PORT(UART3_ADDR, AU1100_UART3_INT), + PORT(UART3_PHYS_ADDR, AU1100_UART3_INT), #elif defined(CONFIG_SOC_AU1550) - PORT(UART0_ADDR, AU1550_UART0_INT), - PORT(UART1_ADDR, AU1550_UART1_INT), - PORT(UART3_ADDR, AU1550_UART3_INT), + PORT(UART0_PHYS_ADDR, AU1550_UART0_INT), + PORT(UART1_PHYS_ADDR, AU1550_UART1_INT), + PORT(UART3_PHYS_ADDR, AU1550_UART3_INT), #elif defined(CONFIG_SOC_AU1200) - PORT(UART0_ADDR, AU1200_UART0_INT), - PORT(UART1_ADDR, AU1200_UART1_INT), + PORT(UART0_PHYS_ADDR, AU1200_UART0_INT), + PORT(UART1_PHYS_ADDR, AU1200_UART1_INT), #endif { }, };