diff options
author | Jamie Iles <jamie@jamieiles.com> | 2010-12-01 23:39:36 +0000 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2010-12-10 15:19:38 -0800 |
commit | a3ae0fc34f58e7163b7724feb3d77aa4603f0dc3 (patch) | |
tree | 05c435ba0ee0b071e3c45bcef33eac9f1fd37e80 /drivers/serial/serial_core.c | |
parent | 49d5741be27aa90301b89bf254972b355ed9c8ee (diff) | |
download | blackbird-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.c | 2 |
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; |