Re: [PATCH 1/2] ASoC: fsl: sai: Add support for runtime pm

2019-04-20 Thread Nicolin Chen
On Sat, Apr 20, 2019 at 03:59:04PM +, Daniel Baluta wrote:
> @@ -898,6 +899,8 @@ static int fsl_sai_probe(struct platform_device *pdev)
>  
>   platform_set_drvdata(pdev, sai);
>  
> + pm_runtime_enable(>dev);

You will need pm_runtime_disable() somewhere, like remove().

Thanks


[PATCH 1/2] ASoC: fsl: sai: Add support for runtime pm

2019-04-20 Thread Daniel Baluta
Basically the same actions as for system PM, so make use
of pm_runtime_force_suspend/pm_runtime_force_resume.

Signed-off-by: Shengjiu Wang 
Signed-off-by: Daniel Baluta 
---
 sound/soc/fsl/fsl_sai.c | 16 +++-
 1 file changed, 11 insertions(+), 5 deletions(-)

diff --git a/sound/soc/fsl/fsl_sai.c b/sound/soc/fsl/fsl_sai.c
index b563004fb89f..aeeb07b74177 100644
--- a/sound/soc/fsl/fsl_sai.c
+++ b/sound/soc/fsl/fsl_sai.c
@@ -9,6 +9,7 @@
 #include 
 #include 
 #include 
+#include 
 #include 
 #include 
 #include 
@@ -898,6 +899,8 @@ static int fsl_sai_probe(struct platform_device *pdev)
 
platform_set_drvdata(pdev, sai);
 
+   pm_runtime_enable(>dev);
+
ret = devm_snd_soc_register_component(>dev, _component,
_sai_dai, 1);
if (ret)
@@ -917,8 +920,8 @@ static const struct of_device_id fsl_sai_ids[] = {
 };
 MODULE_DEVICE_TABLE(of, fsl_sai_ids);
 
-#ifdef CONFIG_PM_SLEEP
-static int fsl_sai_suspend(struct device *dev)
+#ifdef CONFIG_PM
+static int fsl_sai_runtime_suspend(struct device *dev)
 {
struct fsl_sai *sai = dev_get_drvdata(dev);
 
@@ -928,7 +931,7 @@ static int fsl_sai_suspend(struct device *dev)
return 0;
 }
 
-static int fsl_sai_resume(struct device *dev)
+static int fsl_sai_runtime_resume(struct device *dev)
 {
struct fsl_sai *sai = dev_get_drvdata(dev);
 
@@ -940,10 +943,13 @@ static int fsl_sai_resume(struct device *dev)
regmap_write(sai->regmap, FSL_SAI_RCSR, 0);
return regcache_sync(sai->regmap);
 }
-#endif /* CONFIG_PM_SLEEP */
+#endif /* CONFIG_PM */
 
 static const struct dev_pm_ops fsl_sai_pm_ops = {
-   SET_SYSTEM_SLEEP_PM_OPS(fsl_sai_suspend, fsl_sai_resume)
+   SET_RUNTIME_PM_OPS(fsl_sai_runtime_suspend,
+  fsl_sai_runtime_resume, NULL)
+   SET_SYSTEM_SLEEP_PM_OPS(pm_runtime_force_suspend,
+   pm_runtime_force_resume)
 };
 
 static struct platform_driver fsl_sai_driver = {
-- 
2.17.1