OSDN Git Service

spi: sirf: Use dma_request_chan() instead dma_request_slave_channel()
authorPeter Ujfalusi <peter.ujfalusi@ti.com>
Thu, 12 Dec 2019 13:55:47 +0000 (15:55 +0200)
committerMark Brown <broonie@kernel.org>
Mon, 16 Dec 2019 11:57:36 +0000 (11:57 +0000)
dma_request_slave_channel() is a wrapper on top of dma_request_chan()
eating up the error code.

By using dma_request_chan() directly the driver can support deferred
probing against DMA.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Link: https://lore.kernel.org/r/20191212135550.4634-7-peter.ujfalusi@ti.com
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/spi/spi-sirf.c

index e1e6391..8419e67 100644 (file)
@@ -1126,16 +1126,16 @@ static int spi_sirfsoc_probe(struct platform_device *pdev)
        sspi->bitbang.master->dev.of_node = pdev->dev.of_node;
 
        /* request DMA channels */
-       sspi->rx_chan = dma_request_slave_channel(&pdev->dev, "rx");
-       if (!sspi->rx_chan) {
+       sspi->rx_chan = dma_request_chan(&pdev->dev, "rx");
+       if (IS_ERR(sspi->rx_chan)) {
                dev_err(&pdev->dev, "can not allocate rx dma channel\n");
-               ret = -ENODEV;
+               ret = PTR_ERR(sspi->rx_chan);
                goto free_master;
        }
-       sspi->tx_chan = dma_request_slave_channel(&pdev->dev, "tx");
-       if (!sspi->tx_chan) {
+       sspi->tx_chan = dma_request_chan(&pdev->dev, "tx");
+       if (IS_ERR(sspi->tx_chan)) {
                dev_err(&pdev->dev, "can not allocate tx dma channel\n");
-               ret = -ENODEV;
+               ret = PTR_ERR(sspi->tx_chan);
                goto free_rx_dma;
        }