iio:adc:vf610: Switch from CONFIG_PM_SLEEP guards to pm_sleep_ptr() etc
authorJonathan Cameron <Jonathan.Cameron@huawei.com>
Sun, 30 Jan 2022 19:31:12 +0000 (19:31 +0000)
committerJonathan Cameron <Jonathan.Cameron@huawei.com>
Fri, 18 Feb 2022 11:43:12 +0000 (11:43 +0000)
Letting the compiler remove these functions when the kernel is built
without CONFIG_PM_SLEEP support is simpler and less error prone than the
use of ifdef based config guards.

Removing instances of this approach from IIO also stops them being
copied into new drivers.

Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Cc: Stefan-Gabriel Mirea <stefan-gabriel.mirea@nxp.com>
Reviewed-by: Paul Cercueil <paul@crapouillou.net>
Link: https://lore.kernel.org/r/20220130193147.279148-16-jic23@kernel.org
drivers/iio/adc/vf610_adc.c

index fd57fc43e8e5c636e588df0817d69c70c6801716..c84293efc129c3f6bae8002ca0dba54bfd30bf84 100644 (file)
@@ -912,7 +912,6 @@ static int vf610_adc_remove(struct platform_device *pdev)
        return 0;
 }
 
-#ifdef CONFIG_PM_SLEEP
 static int vf610_adc_suspend(struct device *dev)
 {
        struct iio_dev *indio_dev = dev_get_drvdata(dev);
@@ -952,9 +951,9 @@ disable_reg:
        regulator_disable(info->vref);
        return ret;
 }
-#endif
 
-static SIMPLE_DEV_PM_OPS(vf610_adc_pm_ops, vf610_adc_suspend, vf610_adc_resume);
+static DEFINE_SIMPLE_DEV_PM_OPS(vf610_adc_pm_ops, vf610_adc_suspend,
+                               vf610_adc_resume);
 
 static struct platform_driver vf610_adc_driver = {
        .probe          = vf610_adc_probe,
@@ -962,7 +961,7 @@ static struct platform_driver vf610_adc_driver = {
        .driver         = {
                .name   = DRIVER_NAME,
                .of_match_table = vf610_adc_match,
-               .pm     = &vf610_adc_pm_ops,
+               .pm     = pm_sleep_ptr(&vf610_adc_pm_ops),
        },
 };