mfd: sprd-sc27xx: Remove #ifdef guards for PM related functions
authorPaul Cercueil <paul@crapouillou.net>
Sun, 23 Oct 2022 09:48:47 +0000 (10:48 +0100)
committerLee Jones <lee@kernel.org>
Wed, 7 Dec 2022 13:28:12 +0000 (13:28 +0000)
Use the new DEFINE_SIMPLE_DEV_PM_OPS() and pm_sleep_ptr() macros
to handle the .suspend/.resume callbacks.

These macros allow the suspend and resume functions to be automatically
dropped by the compiler when CONFIG_SUSPEND is disabled, without having
to use #ifdef guards.

This has the advantage of always compiling these functions in,
independently of any Kconfig option. Thanks to that, bugs and other
regressions are subsequently easier to catch.

Signed-off-by: Paul Cercueil <paul@crapouillou.net>
Signed-off-by: Lee Jones <lee@kernel.org>
drivers/mfd/sprd-sc27xx-spi.c

index d05a47c..ea68d73 100644 (file)
@@ -215,7 +215,6 @@ static int sprd_pmic_probe(struct spi_device *spi)
        return 0;
 }
 
-#ifdef CONFIG_PM_SLEEP
 static int sprd_pmic_suspend(struct device *dev)
 {
        struct sprd_pmic *ddata = dev_get_drvdata(dev);
@@ -235,9 +234,9 @@ static int sprd_pmic_resume(struct device *dev)
 
        return 0;
 }
-#endif
 
-static SIMPLE_DEV_PM_OPS(sprd_pmic_pm_ops, sprd_pmic_suspend, sprd_pmic_resume);
+static DEFINE_SIMPLE_DEV_PM_OPS(sprd_pmic_pm_ops,
+                               sprd_pmic_suspend, sprd_pmic_resume);
 
 static const struct of_device_id sprd_pmic_match[] = {
        { .compatible = "sprd,sc2730", .data = &sc2730_data },
@@ -257,7 +256,7 @@ static struct spi_driver sprd_pmic_driver = {
        .driver = {
                .name = "sc27xx-pmic",
                .of_match_table = sprd_pmic_match,
-               .pm = &sprd_pmic_pm_ops,
+               .pm = pm_sleep_ptr(&sprd_pmic_pm_ops),
        },
        .probe = sprd_pmic_probe,
        .id_table = sprd_pmic_spi_ids,