2023-08-07 05:54:05

by Kaiwei Liu

[permalink] [raw]
Subject: [PATCH 4/5] dma: delect enable opreation in probe

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 <[email protected]>
---
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