ASoC: SOF: Remove pm_runtime_put_autosuspend() for SOF OF device
authorAllen-KH Cheng <Allen-KH.Cheng@mediatek.com>
Thu, 9 Dec 2021 20:08:30 +0000 (22:08 +0200)
committerMark Brown <broonie@kernel.org>
Tue, 14 Dec 2021 13:22:16 +0000 (13:22 +0000)
In SOF OF device, pm_runtime_put_autosuspend() is not
matching any pm_runtime_get_sync().

This is imbalanced for PM runtime.

Also, for consistency we call pm_runtime_mark_last_busy()
before enabling PM runtime.

1. Remove pm_runtime_put_autosuspend() in probe_complete
2. Reorder PM runtime calls int probe_complete

Signed-off-by: Allen-KH Cheng <Allen-KH.Cheng@mediatek.com>
Reviewed-by: Daniel Baluta <daniel.baluta@nxp.com>
Reviewed-by: Paul Olaru <paul.olaru@oss.nxp.com>
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
Link: https://lore.kernel.org/r/20211209200830.145005-1-daniel.baluta@oss.nxp.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/sof/sof-of-dev.c

index 412cbb8..b008969 100644 (file)
@@ -74,11 +74,9 @@ static void sof_of_probe_complete(struct device *dev)
        /* allow runtime_pm */
        pm_runtime_set_autosuspend_delay(dev, SND_SOF_SUSPEND_DELAY_MS);
        pm_runtime_use_autosuspend(dev);
+       pm_runtime_mark_last_busy(dev);
        pm_runtime_set_active(dev);
        pm_runtime_enable(dev);
-
-       pm_runtime_mark_last_busy(dev);
-       pm_runtime_put_autosuspend(dev);
 }
 
 static int sof_of_probe(struct platform_device *pdev)