Use the newly introduced pm_ptr() macro, and mark the suspend/resume
functions __maybe_unused. These functions can then be moved outside the
CONFIG_PM_SUSPEND block, and the compiler can then process them and
detect build failures independently of the config. If unused, they will
simply be discarded by the compiler.

Signed-off-by: Paul Cercueil <[email protected]>
---
 drivers/usb/musb/da8xx.c | 8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)

diff --git a/drivers/usb/musb/da8xx.c b/drivers/usb/musb/da8xx.c
index 1c023c0091c4..7a13463006e3 100644
--- a/drivers/usb/musb/da8xx.c
+++ b/drivers/usb/musb/da8xx.c
@@ -598,8 +598,7 @@ static int da8xx_remove(struct platform_device *pdev)
        return 0;
 }
 
-#ifdef CONFIG_PM_SLEEP
-static int da8xx_suspend(struct device *dev)
+static int __maybe_unused da8xx_suspend(struct device *dev)
 {
        int ret;
        struct da8xx_glue *glue = dev_get_drvdata(dev);
@@ -612,7 +611,7 @@ static int da8xx_suspend(struct device *dev)
        return 0;
 }
 
-static int da8xx_resume(struct device *dev)
+static int __maybe_unused da8xx_resume(struct device *dev)
 {
        int ret;
        struct da8xx_glue *glue = dev_get_drvdata(dev);
@@ -622,7 +621,6 @@ static int da8xx_resume(struct device *dev)
                return ret;
        return phy_power_on(glue->phy);
 }
-#endif
 
 static SIMPLE_DEV_PM_OPS(da8xx_pm_ops, da8xx_suspend, da8xx_resume);
 
@@ -641,7 +639,7 @@ static struct platform_driver da8xx_driver = {
        .remove         = da8xx_remove,
        .driver         = {
                .name   = "musb-da8xx",
-               .pm = &da8xx_pm_ops,
+               .pm = pm_ptr(&da8xx_pm_ops),
                .of_match_table = of_match_ptr(da8xx_id_table),
        },
 };
-- 
2.28.0

Reply via email to