@@ -1203,21 +1203,11 @@ 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;
ret = dma_async_device_register(&sdev->dma_dev);
if (ret < 0) {
dev_err(&pdev->dev, "register dma device failed:%d\n", ret);
- goto err_register;
+ return ret;
}
sprd_dma_info.dma_cap = sdev->dma_dev.cap_mask;
@@ -1226,16 +1216,11 @@ static int sprd_dma_probe(struct platform_device *pdev)
if (ret)
goto err_of_register;
- pm_runtime_put(&pdev->dev);
+ pm_runtime_enable(&pdev->dev);
return 0;
err_of_register:
dma_async_device_unregister(&sdev->dma_dev);
-err_register:
- pm_runtime_put_noidle(&pdev->dev);
- pm_runtime_disable(&pdev->dev);
-err_rpm:
- sprd_dma_disable(sdev);
return ret;
}