[PATCH 4/5] dma: delect enable opreation in probe
From: Kaiwei Liu
Date: Mon Aug 07 2023 - 01:21:26 EST
In the probe of dma, it will allocate device memory and
do some initalization settings. All operations are only
at the software level and don't need the DMA hardware
power on, here modify relative code.
Signed-off-by: Kaiwei Liu <kaiwei.liu@xxxxxxxxxx>
---
drivers/dma/sprd-dma.c | 14 ++------------
1 file changed, 2 insertions(+), 12 deletions(-)
diff --git a/drivers/dma/sprd-dma.c b/drivers/dma/sprd-dma.c
index 01053e106e8a..41d427df5098 100644
--- a/drivers/dma/sprd-dma.c
+++ b/drivers/dma/sprd-dma.c
@@ -1261,16 +1261,8 @@ static int sprd_dma_probe(struct platform_device *pdev)
}
platform_set_drvdata(pdev, sdev);
- ret = sprd_dma_enable(sdev);
- if (ret)
- return ret;
-
- pm_runtime_set_active(&pdev->dev);
pm_runtime_enable(&pdev->dev);
-
- ret = pm_runtime_get_sync(&pdev->dev);
- if (ret < 0)
- goto err_rpm;
+ pm_runtime_get_noresume(&pdev->dev);
ret = dma_async_device_register(&sdev->dma_dev);
if (ret < 0) {
@@ -1284,7 +1276,7 @@ static int sprd_dma_probe(struct platform_device *pdev)
if (ret)
goto err_of_register;
- pm_runtime_put(&pdev->dev);
+ pm_runtime_put_noidle(&pdev->dev);
return 0;
err_of_register:
@@ -1292,8 +1284,6 @@ static int sprd_dma_probe(struct platform_device *pdev)
err_register:
pm_runtime_put_noidle(&pdev->dev);
pm_runtime_disable(&pdev->dev);
-err_rpm:
- sprd_dma_disable(sdev);
return ret;
}
--
2.17.1