diff options
author | Peter Hurley <peter@hurleysoftware.com> | 2015-02-24 14:25:11 -0500 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2015-03-26 18:18:20 +0100 |
commit | d53e1428a9f1110ec865b2839f6a6f12d13da2b9 (patch) | |
tree | 21358b57d1c03d7dcaa7cc47cd4afab59376802d /drivers/tty | |
parent | afd483bd0f6808d7a8891349b8a141d7abd0509d (diff) | |
download | linux-d53e1428a9f1110ec865b2839f6a6f12d13da2b9.tar.gz linux-d53e1428a9f1110ec865b2839f6a6f12d13da2b9.tar.bz2 linux-d53e1428a9f1110ec865b2839f6a6f12d13da2b9.zip |
serial: 8250: Initialize default dma handlers when setting defaults
Prepare for 8250 split; move default dma tx/rx handler initialization
into serial8250_set_defaults(), which allows default dma ops to
remain unexported from the base port operations module after the split.
Signed-off-by: Peter Hurley <peter@hurleysoftware.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/tty')
-rw-r--r-- | drivers/tty/serial/8250/8250_core.c | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/drivers/tty/serial/8250/8250_core.c b/drivers/tty/serial/8250/8250_core.c index 2030201daf97..423a77903cef 100644 --- a/drivers/tty/serial/8250/8250_core.c +++ b/drivers/tty/serial/8250/8250_core.c @@ -3160,6 +3160,14 @@ static void serial8250_set_defaults(struct uart_8250_port *up) } set_io_from_upio(port); + + /* default dma handlers */ + if (up->dma) { + if (!up->dma->tx_dma) + up->dma->tx_dma = serial8250_tx_dma; + if (!up->dma->rx_dma) + up->dma->rx_dma = serial8250_rx_dma; + } } static void __init serial8250_isa_init_ports(void) @@ -3741,6 +3749,7 @@ int serial8250_register_8250_port(struct uart_8250_port *up) uart->port.unthrottle = up->port.unthrottle; uart->port.rs485_config = up->port.rs485_config; uart->port.rs485 = up->port.rs485; + uart->dma = up->dma; /* Take tx_loadsz from fifosize if it wasn't set separately */ if (uart->port.fifosize && !uart->tx_loadsz) @@ -3781,13 +3790,6 @@ int serial8250_register_8250_port(struct uart_8250_port *up) uart->dl_read = up->dl_read; if (up->dl_write) uart->dl_write = up->dl_write; - if (up->dma) { - uart->dma = up->dma; - if (!uart->dma->tx_dma) - uart->dma->tx_dma = serial8250_tx_dma; - if (!uart->dma->rx_dma) - uart->dma->rx_dma = serial8250_rx_dma; - } if (serial8250_isa_config != NULL) serial8250_isa_config(0, &uart->port, |