diff options
author | Heikki Krogerus <heikki.krogerus@linux.intel.com> | 2015-09-21 14:17:26 +0300 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2015-10-04 18:38:45 +0100 |
commit | 2559318caa76028edc9c0553932a17139e6adc58 (patch) | |
tree | e16fc5ec1c639aea86acf03cbf3078df8771c0bd /drivers/tty | |
parent | 1bd8edba10e6aa275434a8daa7ddcaf849fe49ad (diff) | |
download | linux-2559318caa76028edc9c0553932a17139e6adc58.tar.gz linux-2559318caa76028edc9c0553932a17139e6adc58.tar.bz2 linux-2559318caa76028edc9c0553932a17139e6adc58.zip |
serial: 8250_dw: hook the DMA in one place
Instead of assigning the dma member in dw8250_probe_of and
dw8250_probe_acpi separately, assigning it in dw8250_probe.
Signed-off-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/tty')
-rw-r--r-- | drivers/tty/serial/8250/8250_dw.c | 19 |
1 files changed, 7 insertions, 12 deletions
diff --git a/drivers/tty/serial/8250/8250_dw.c b/drivers/tty/serial/8250/8250_dw.c index 346061718e91..d69d0984484f 100644 --- a/drivers/tty/serial/8250/8250_dw.c +++ b/drivers/tty/serial/8250/8250_dw.c @@ -302,14 +302,6 @@ static int dw8250_probe_of(struct uart_port *p, if (has_ucv) dw8250_setup_port(up); - /* if we have a valid fifosize, try hooking up DMA here */ - if (p->fifosize) { - up->dma = &data->dma; - - up->dma->rxconf.src_maxburst = p->fifosize / 4; - up->dma->txconf.dst_maxburst = p->fifosize / 4; - } - /* get index of serial line, if found in DT aliases */ id = of_alias_get_id(np, "serial"); if (id >= 0) @@ -348,10 +340,6 @@ static int dw8250_probe_acpi(struct uart_8250_port *up, data->dma.fn = dw8250_idma_filter; } - up->dma = &data->dma; - up->dma->rxconf.src_maxburst = p->fifosize / 4; - up->dma->txconf.dst_maxburst = p->fifosize / 4; - up->port.set_termios = dw8250_set_termios; return 0; @@ -498,6 +486,13 @@ static int dw8250_probe(struct platform_device *pdev) goto err_reset; } + /* If we have a valid fifosize, try hooking up DMA */ + if (p->fifosize) { + data->dma.rxconf.src_maxburst = p->fifosize / 4; + data->dma.txconf.dst_maxburst = p->fifosize / 4; + uart.dma = &data->dma; + } + data->line = serial8250_register_8250_port(&uart); if (data->line < 0) { err = data->line; |