ASoC: fsl_ssi: Switch to SYSTEM_SLEEP_PM_OPS
authorFabio Estevam <festevam@denx.de>
Thu, 8 Aug 2024 18:49:42 +0000 (15:49 -0300)
committerMark Brown <broonie@kernel.org>
Wed, 14 Aug 2024 17:21:16 +0000 (18:21 +0100)
Replace SET_SYSTEM_SLEEP_PM_OPS() with its modern SYSTEM_SLEEP_PM_OPS()
alternative.

The combined usage of pm_sleep_ptr() and SYSTEM_SLEEP_PM_OPS() allows
the compiler to evaluate if the suspend/resume() functions are used at
build time or are simply dead code.

This allows removing the CONFIG_PM_SLEEP ifdefery from the
suspend/resume() functions.

Signed-off-by: Fabio Estevam <festevam@denx.de>
Link: https://patch.msgid.link/20240808184944.267686-5-festevam@gmail.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/fsl/fsl_ssi.c

index 4ca3a16f7ac0d448f803121af508bd37b3d89ab0..c4c1d9c44056a8ec71ce7212d7ce176d3cb9db83 100644 (file)
@@ -1693,7 +1693,6 @@ static void fsl_ssi_remove(struct platform_device *pdev)
        }
 }
 
-#ifdef CONFIG_PM_SLEEP
 static int fsl_ssi_suspend(struct device *dev)
 {
        struct fsl_ssi *ssi = dev_get_drvdata(dev);
@@ -1723,17 +1722,16 @@ static int fsl_ssi_resume(struct device *dev)
 
        return regcache_sync(regs);
 }
-#endif /* CONFIG_PM_SLEEP */
 
 static const struct dev_pm_ops fsl_ssi_pm = {
-       SET_SYSTEM_SLEEP_PM_OPS(fsl_ssi_suspend, fsl_ssi_resume)
+       SYSTEM_SLEEP_PM_OPS(fsl_ssi_suspend, fsl_ssi_resume)
 };
 
 static struct platform_driver fsl_ssi_driver = {
        .driver = {
                .name = "fsl-ssi-dai",
                .of_match_table = fsl_ssi_ids,
-               .pm = &fsl_ssi_pm,
+               .pm = pm_sleep_ptr(&fsl_ssi_pm),
        },
        .probe = fsl_ssi_probe,
        .remove_new = fsl_ssi_remove,