ASoC: SOF: pm: Remove duplicated code in sof_suspend
authorPeter Ujfalusi <peter.ujfalusi@linux.intel.com>
Fri, 16 Jun 2023 10:00:38 +0000 (12:00 +0200)
committerMark Brown <broonie@kernel.org>
Fri, 16 Jun 2023 11:53:53 +0000 (12:53 +0100)
Over time the function has changed and now there is no need to have the
duplicated sof_fw_trace_suspend() and sof_suspend_clients() in the
if (target_state == SOF_DSP_PM_D0) branch.

Remove it and add a simple check with a single goto statement.

Reviewed-by: Daniel Baluta <daniel.baluta@nxp.com>
Reviewed-by: Paul Olaru <olarupaulstelian97@gmail.com>
Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Link: https://lore.kernel.org/r/20230616100039.378150-8-pierre-louis.bossart@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/sof/pm.c

index 2b23244..704b214 100644 (file)
@@ -234,20 +234,16 @@ static int sof_suspend(struct device *dev, bool runtime_suspend)
 
        pm_state.event = target_state;
 
-       /* Skip to platform-specific suspend if DSP is entering D0 */
-       if (target_state == SOF_DSP_PM_D0) {
-               sof_fw_trace_suspend(sdev, pm_state);
-               /* Notify clients not managed by pm framework about core suspend */
-               sof_suspend_clients(sdev, pm_state);
-               goto suspend;
-       }
-
        /* suspend DMA trace */
        sof_fw_trace_suspend(sdev, pm_state);
 
        /* Notify clients not managed by pm framework about core suspend */
        sof_suspend_clients(sdev, pm_state);
 
+       /* Skip to platform-specific suspend if DSP is entering D0 */
+       if (target_state == SOF_DSP_PM_D0)
+               goto suspend;
+
 #if IS_ENABLED(CONFIG_SND_SOC_SOF_DEBUG_ENABLE_DEBUGFS_CACHE)
        /* cache debugfs contents during runtime suspend */
        if (runtime_suspend)