hwmon: (adt7x10) Switch to EXPORT_SIMPLE_DEV_PM_OPS() and pm_sleep_ptr()

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>
This commit is contained in:
Jonathan Cameron 2022-09-25 18:27:45 +01:00 committed by Guenter Roeck
parent 00f4095c96
commit 29805956ee
4 changed files with 3 additions and 13 deletions

View File

@ -152,7 +152,7 @@ MODULE_DEVICE_TABLE(spi, adt7310_id);
static struct spi_driver adt7310_driver = { static struct spi_driver adt7310_driver = {
.driver = { .driver = {
.name = "adt7310", .name = "adt7310",
.pm = ADT7X10_DEV_PM_OPS, .pm = pm_sleep_ptr(&adt7x10_dev_pm_ops),
}, },
.probe = adt7310_spi_probe, .probe = adt7310_spi_probe,
.id_table = adt7310_id, .id_table = adt7310_id,

View File

@ -98,7 +98,7 @@ static struct i2c_driver adt7410_driver = {
.class = I2C_CLASS_HWMON, .class = I2C_CLASS_HWMON,
.driver = { .driver = {
.name = "adt7410", .name = "adt7410",
.pm = ADT7X10_DEV_PM_OPS, .pm = pm_sleep_ptr(&adt7x10_dev_pm_ops),
}, },
.probe_new = adt7410_i2c_probe, .probe_new = adt7410_i2c_probe,
.id_table = adt7410_ids, .id_table = adt7410_ids,

View File

@ -397,8 +397,6 @@ int adt7x10_probe(struct device *dev, const char *name, int irq,
} }
EXPORT_SYMBOL_GPL(adt7x10_probe); EXPORT_SYMBOL_GPL(adt7x10_probe);
#ifdef CONFIG_PM_SLEEP
static int adt7x10_suspend(struct device *dev) static int adt7x10_suspend(struct device *dev)
{ {
struct adt7x10_data *data = dev_get_drvdata(dev); struct adt7x10_data *data = dev_get_drvdata(dev);
@ -414,10 +412,7 @@ static int adt7x10_resume(struct device *dev)
return regmap_write(data->regmap, ADT7X10_CONFIG, data->config); return regmap_write(data->regmap, ADT7X10_CONFIG, data->config);
} }
SIMPLE_DEV_PM_OPS(adt7x10_dev_pm_ops, adt7x10_suspend, adt7x10_resume); EXPORT_SIMPLE_DEV_PM_OPS(adt7x10_dev_pm_ops, adt7x10_suspend, adt7x10_resume);
EXPORT_SYMBOL_GPL(adt7x10_dev_pm_ops);
#endif /* CONFIG_PM_SLEEP */
MODULE_AUTHOR("Hartmut Knaack"); MODULE_AUTHOR("Hartmut Knaack");
MODULE_DESCRIPTION("ADT7410/ADT7420, ADT7310/ADT7320 common code"); MODULE_DESCRIPTION("ADT7410/ADT7420, ADT7310/ADT7320 common code");

View File

@ -20,11 +20,6 @@ struct device;
int adt7x10_probe(struct device *dev, const char *name, int irq, int adt7x10_probe(struct device *dev, const char *name, int irq,
struct regmap *regmap); struct regmap *regmap);
#ifdef CONFIG_PM_SLEEP
extern const struct dev_pm_ops adt7x10_dev_pm_ops; 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 #endif