iio: light: st_uvis25: Use EXPORT_NS_SIMPLE_DEV_PM_OPS()

Using this new macro removes the need to mark the callbacks
__maybe_unused.  One slightly complexity in this case is that
the export will exist if CONFIG_PM is set, but only be used
if CONFIG_PM_SLEEP is also set. This is harmless.

Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Cc: Lorenzo Bianconi <lorenzo.bianconi83@gmail.com>
Link: https://lore.kernel.org/r/20220807185618.1038812-7-jic23@kernel.org
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
This commit is contained in:
Jonathan Cameron 2022-08-07 19:56:18 +01:00
parent 66991b106a
commit 3259b99e0a
3 changed files with 5 additions and 8 deletions

View file

@ -325,7 +325,7 @@ int st_uvis25_probe(struct device *dev, int irq, struct regmap *regmap)
} }
EXPORT_SYMBOL_NS(st_uvis25_probe, IIO_UVIS25); EXPORT_SYMBOL_NS(st_uvis25_probe, IIO_UVIS25);
static int __maybe_unused st_uvis25_suspend(struct device *dev) static int st_uvis25_suspend(struct device *dev)
{ {
struct iio_dev *iio_dev = dev_get_drvdata(dev); struct iio_dev *iio_dev = dev_get_drvdata(dev);
struct st_uvis25_hw *hw = iio_priv(iio_dev); struct st_uvis25_hw *hw = iio_priv(iio_dev);
@ -334,7 +334,7 @@ static int __maybe_unused st_uvis25_suspend(struct device *dev)
ST_UVIS25_REG_ODR_MASK, 0); ST_UVIS25_REG_ODR_MASK, 0);
} }
static int __maybe_unused st_uvis25_resume(struct device *dev) static int st_uvis25_resume(struct device *dev)
{ {
struct iio_dev *iio_dev = dev_get_drvdata(dev); struct iio_dev *iio_dev = dev_get_drvdata(dev);
struct st_uvis25_hw *hw = iio_priv(iio_dev); struct st_uvis25_hw *hw = iio_priv(iio_dev);
@ -346,10 +346,7 @@ static int __maybe_unused st_uvis25_resume(struct device *dev)
return 0; return 0;
} }
const struct dev_pm_ops st_uvis25_pm_ops = { EXPORT_NS_SIMPLE_DEV_PM_OPS(st_uvis25_pm_ops, st_uvis25_suspend, st_uvis25_resume, IIO_UVIS25);
SET_SYSTEM_SLEEP_PM_OPS(st_uvis25_suspend, st_uvis25_resume)
};
EXPORT_SYMBOL_NS(st_uvis25_pm_ops, IIO_UVIS25);
MODULE_AUTHOR("Lorenzo Bianconi <lorenzo.bianconi83@gmail.com>"); MODULE_AUTHOR("Lorenzo Bianconi <lorenzo.bianconi83@gmail.com>");
MODULE_DESCRIPTION("STMicroelectronics uvis25 sensor driver"); MODULE_DESCRIPTION("STMicroelectronics uvis25 sensor driver");

View file

@ -55,7 +55,7 @@ MODULE_DEVICE_TABLE(i2c, st_uvis25_i2c_id_table);
static struct i2c_driver st_uvis25_driver = { static struct i2c_driver st_uvis25_driver = {
.driver = { .driver = {
.name = "st_uvis25_i2c", .name = "st_uvis25_i2c",
.pm = &st_uvis25_pm_ops, .pm = pm_sleep_ptr(&st_uvis25_pm_ops),
.of_match_table = st_uvis25_i2c_of_match, .of_match_table = st_uvis25_i2c_of_match,
}, },
.probe = st_uvis25_i2c_probe, .probe = st_uvis25_i2c_probe,

View file

@ -55,7 +55,7 @@ MODULE_DEVICE_TABLE(spi, st_uvis25_spi_id_table);
static struct spi_driver st_uvis25_driver = { static struct spi_driver st_uvis25_driver = {
.driver = { .driver = {
.name = "st_uvis25_spi", .name = "st_uvis25_spi",
.pm = &st_uvis25_pm_ops, .pm = pm_sleep_ptr(&st_uvis25_pm_ops),
.of_match_table = st_uvis25_spi_of_match, .of_match_table = st_uvis25_spi_of_match,
}, },
.probe = st_uvis25_spi_probe, .probe = st_uvis25_spi_probe,