serial: 8250_dw: hook the DMA in one place
authorHeikki Krogerus <heikki.krogerus@linux.intel.com>
Mon, 21 Sep 2015 11:17:26 +0000 (14:17 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 4 Oct 2015 17:38:45 +0000 (18:38 +0100)
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>
drivers/tty/serial/8250/8250_dw.c

index 346061718e912cef08b47cbf1ad9c64919ac8002..d69d0984484f0f7ca851e61e822c0d2054747867 100644 (file)
@@ -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;