i2c: mxs: Use dma_request_chan() instead dma_request_slave_channel()
authorPeter Ujfalusi <peter.ujfalusi@ti.com>
Tue, 17 Dec 2019 07:45:05 +0000 (09:45 +0200)
committerWolfram Sang <wsa@the-dreams.de>
Sun, 22 Mar 2020 16:22:07 +0000 (17:22 +0100)
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>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
drivers/i2c/busses/i2c-mxs.c

index 8922491..03f5eee 100644 (file)
@@ -836,10 +836,10 @@ static int mxs_i2c_probe(struct platform_device *pdev)
        }
 
        /* Setup the DMA */
-       i2c->dmach = dma_request_slave_channel(dev, "rx-tx");
-       if (!i2c->dmach) {
+       i2c->dmach = dma_request_chan(dev, "rx-tx");
+       if (IS_ERR(i2c->dmach)) {
                dev_err(dev, "Failed to request dma\n");
-               return -ENODEV;
+               return PTR_ERR(i2c->dmach);
        }
 
        platform_set_drvdata(pdev, i2c);