]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/commitdiff
slimbus: qcom-ngd-ctrl: Use dma_request_chan() instead dma_request_slave_channel()
authorPeter Ujfalusi <peter.ujfalusi@ti.com>
Thu, 9 Jan 2020 10:31:46 +0000 (10:31 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 14 Jan 2020 20:46:47 +0000 (21:46 +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: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Link: https://lore.kernel.org/r/20200109103148.5612-3-srinivas.kandagatla@linaro.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/slimbus/qcom-ngd-ctrl.c

index 29fbab55c3b38051a7214efd1795035658ec8a56..e3f5ebc0c05ec5cde6daa1a6b5940b68d644fecc 100644 (file)
@@ -666,10 +666,12 @@ static int qcom_slim_ngd_init_rx_msgq(struct qcom_slim_ngd_ctrl *ctrl)
        struct device *dev = ctrl->dev;
        int ret, size;
 
-       ctrl->dma_rx_channel = dma_request_slave_channel(dev, "rx");
-       if (!ctrl->dma_rx_channel) {
-               dev_err(dev, "Failed to request dma channels");
-               return -EINVAL;
+       ctrl->dma_rx_channel = dma_request_chan(dev, "rx");
+       if (IS_ERR(ctrl->dma_rx_channel)) {
+               dev_err(dev, "Failed to request RX dma channel");
+               ret = PTR_ERR(ctrl->dma_rx_channel);
+               ctrl->dma_rx_channel = NULL;
+               return ret;
        }
 
        size = QCOM_SLIM_NGD_DESC_NUM * SLIM_MSGQ_BUF_LEN;
@@ -703,10 +705,12 @@ static int qcom_slim_ngd_init_tx_msgq(struct qcom_slim_ngd_ctrl *ctrl)
        int ret = 0;
        int size;
 
-       ctrl->dma_tx_channel = dma_request_slave_channel(dev, "tx");
-       if (!ctrl->dma_tx_channel) {
-               dev_err(dev, "Failed to request dma channels");
-               return -EINVAL;
+       ctrl->dma_tx_channel = dma_request_chan(dev, "tx");
+       if (IS_ERR(ctrl->dma_tx_channel)) {
+               dev_err(dev, "Failed to request TX dma channel");
+               ret = PTR_ERR(ctrl->dma_tx_channel);
+               ctrl->dma_tx_channel = NULL;
+               return ret;
        }
 
        size = ((QCOM_SLIM_NGD_DESC_NUM + 1) * SLIM_MSGQ_BUF_LEN);