These newer PM macros allow the compiler to see what code it can remove
if !CONFIG_PM_SLEEP. This allows the removal of messy #ifdef barriers whilst
achieving the same result.
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Cc: Lars-Peter Clausen <lars@metafoo.de>
Link: https://lore.kernel.org/r/20220925172759.3573439-5-jic23@kernel.org
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
 
 static struct spi_driver adt7310_driver = {
        .driver = {
                .name   = "adt7310",
-               .pm     = ADT7X10_DEV_PM_OPS,
+               .pm     = pm_sleep_ptr(&adt7x10_dev_pm_ops),
        },
        .probe          = adt7310_spi_probe,
        .id_table       = adt7310_id,
 
        .class          = I2C_CLASS_HWMON,
        .driver = {
                .name   = "adt7410",
-               .pm     = ADT7X10_DEV_PM_OPS,
+               .pm     = pm_sleep_ptr(&adt7x10_dev_pm_ops),
        },
        .probe_new      = adt7410_i2c_probe,
        .id_table       = adt7410_ids,
 
 }
 EXPORT_SYMBOL_GPL(adt7x10_probe);
 
-#ifdef CONFIG_PM_SLEEP
-
 static int adt7x10_suspend(struct device *dev)
 {
        struct adt7x10_data *data = dev_get_drvdata(dev);
        return regmap_write(data->regmap, ADT7X10_CONFIG, data->config);
 }
 
-SIMPLE_DEV_PM_OPS(adt7x10_dev_pm_ops, adt7x10_suspend, adt7x10_resume);
-EXPORT_SYMBOL_GPL(adt7x10_dev_pm_ops);
-
-#endif /* CONFIG_PM_SLEEP */
+EXPORT_SIMPLE_DEV_PM_OPS(adt7x10_dev_pm_ops, adt7x10_suspend, adt7x10_resume);
 
 MODULE_AUTHOR("Hartmut Knaack");
 MODULE_DESCRIPTION("ADT7410/ADT7420, ADT7310/ADT7320 common code");
 
 int adt7x10_probe(struct device *dev, const char *name, int irq,
                  struct regmap *regmap);
 
-#ifdef CONFIG_PM_SLEEP
 extern const struct dev_pm_ops adt7x10_dev_pm_ops;
-#define ADT7X10_DEV_PM_OPS (&adt7x10_dev_pm_ops)
-#else
-#define ADT7X10_DEV_PM_OPS NULL
-#endif
 
 #endif