summaryrefslogtreecommitdiffstats
path: root/drivers/serial/serial_core.c
diff options
context:
space:
mode:
authorJamie Iles <jamie@jamieiles.com>2010-12-01 23:39:36 +0000
committerGreg Kroah-Hartman <gregkh@suse.de>2010-12-10 15:19:38 -0800
commita3ae0fc34f58e7163b7724feb3d77aa4603f0dc3 (patch)
tree05c435ba0ee0b071e3c45bcef33eac9f1fd37e80 /drivers/serial/serial_core.c
parent49d5741be27aa90301b89bf254972b355ed9c8ee (diff)
downloadblackbird-op-linux-a3ae0fc34f58e7163b7724feb3d77aa4603f0dc3.tar.gz
blackbird-op-linux-a3ae0fc34f58e7163b7724feb3d77aa4603f0dc3.zip
8250: add a UPIO_DWAPB32 for 32 bit accesses
Some platforms contain a Synopsys DesignWare APB UART that is attached to a 32-bit APB bus where sub-word accesses are not allowed. Add a new IO type (UPIO_DWAPB32) that performs 32 bit acccesses to the UART. v2: - don't test for 32 bit in the output fast path, provide a separate dwabp32_serial_out() function. Refactor dwabp_serial_out() so that we can reuse the LCR saving code. v3: - rebased on top of "8250: use container_of() instead of casting" Signed-off-by: Jamie Iles <jamie@jamieiles.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/serial/serial_core.c')
-rw-r--r--drivers/serial/serial_core.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/serial/serial_core.c b/drivers/serial/serial_core.c
index c4ea14670d44..2835e29298ed 100644
--- a/drivers/serial/serial_core.c
+++ b/drivers/serial/serial_core.c
@@ -2135,6 +2135,7 @@ uart_report_port(struct uart_driver *drv, struct uart_port *port)
case UPIO_AU:
case UPIO_TSI:
case UPIO_DWAPB:
+ case UPIO_DWAPB32:
snprintf(address, sizeof(address),
"MMIO 0x%llx", (unsigned long long)port->mapbase);
break;
@@ -2555,6 +2556,7 @@ int uart_match_port(struct uart_port *port1, struct uart_port *port2)
case UPIO_AU:
case UPIO_TSI:
case UPIO_DWAPB:
+ case UPIO_DWAPB32:
return (port1->mapbase == port2->mapbase);
}
return 0;
OpenPOWER on IntegriCloud