diff options
-rw-r--r-- | drivers/tty/serial/fsl_lpuart.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/drivers/tty/serial/fsl_lpuart.c b/drivers/tty/serial/fsl_lpuart.c index f6549ac5a8cf..be6c011b642d 100644 --- a/drivers/tty/serial/fsl_lpuart.c +++ b/drivers/tty/serial/fsl_lpuart.c @@ -1798,13 +1798,16 @@ static struct uart_driver lpuart_reg = { .cons = LPUART_CONSOLE, }; -static void lpuart_request_dma_chan(struct lpuart_port *sport, - struct dma_chan *chan, const char *name) +static struct dma_chan *lpuart_request_dma_chan(struct lpuart_port *sport, + const char *name) { + struct dma_chan *chan; + chan = dma_request_slave_channel(sport->port.dev, name); if (!chan) dev_info(sport->port.dev, "DMA %s channel request failed, " "operating without %s DMA\n", name, name); + return chan; } static int lpuart_probe(struct platform_device *pdev) @@ -1877,8 +1880,8 @@ static int lpuart_probe(struct platform_device *pdev) } if (!nodma) { - lpuart_request_dma_chan(sport, sport->dma_tx_chan, "tx"); - lpuart_request_dma_chan(sport, sport->dma_rx_chan, "rx"); + sport->dma_tx_chan = lpuart_request_dma_chan(sport, "tx"); + sport->dma_rx_chan = lpuart_request_dma_chan(sport, "rx"); } if (of_property_read_bool(np, "linux,rs485-enabled-at-boot-time")) { |