iio: imu: lsm6dsx: Use new pm_sleep_ptr() and EXPORT_SIMPLE_DEV_PM_OPS()
authorJonathan Cameron <Jonathan.Cameron@huawei.com>
Sat, 4 Jun 2022 16:12:22 +0000 (17:12 +0100)
committerJonathan Cameron <Jonathan.Cameron@huawei.com>
Wed, 15 Jun 2022 21:07:09 +0000 (22:07 +0100)
These new functions move the burden of removing unused code when
CONFIG_PM_SLEEP is not defined onto the compiler rather than requiring
the use of CONFIG_PM guards and similar.

Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Link: https://lore.kernel.org/r/20220220181522.541718-8-jic23@kernel.org
Acked-by: Lorenzo Bianconi <lorenzo@kernel.org>
Link: https://lore.kernel.org/r/20220604161223.461847-5-jic23@kernel.org
drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c
drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_i2c.c
drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_i3c.c
drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_spi.c

index 910397716833fc8bdf9a2d31f7eaeaea1ed0cf4d..9e4aa5c1c8d6a88daee860249bf117bcdfb39d8a 100644 (file)
@@ -2291,7 +2291,7 @@ int st_lsm6dsx_probe(struct device *dev, int irq, int hw_id,
 }
 EXPORT_SYMBOL(st_lsm6dsx_probe);
 
-static int __maybe_unused st_lsm6dsx_suspend(struct device *dev)
+static int st_lsm6dsx_suspend(struct device *dev)
 {
        struct st_lsm6dsx_hw *hw = dev_get_drvdata(dev);
        struct st_lsm6dsx_sensor *sensor;
@@ -2330,7 +2330,7 @@ static int __maybe_unused st_lsm6dsx_suspend(struct device *dev)
        return err;
 }
 
-static int __maybe_unused st_lsm6dsx_resume(struct device *dev)
+static int st_lsm6dsx_resume(struct device *dev)
 {
        struct st_lsm6dsx_hw *hw = dev_get_drvdata(dev);
        struct st_lsm6dsx_sensor *sensor;
@@ -2366,10 +2366,8 @@ static int __maybe_unused st_lsm6dsx_resume(struct device *dev)
        return err;
 }
 
-const struct dev_pm_ops st_lsm6dsx_pm_ops = {
-       SET_SYSTEM_SLEEP_PM_OPS(st_lsm6dsx_suspend, st_lsm6dsx_resume)
-};
-EXPORT_SYMBOL(st_lsm6dsx_pm_ops);
+EXPORT_SIMPLE_DEV_PM_OPS(st_lsm6dsx_pm_ops, st_lsm6dsx_suspend,
+                        st_lsm6dsx_resume);
 
 MODULE_AUTHOR("Lorenzo Bianconi <lorenzo.bianconi@st.com>");
 MODULE_AUTHOR("Denis Ciocca <denis.ciocca@st.com>");
index 715fbdc8190ef0db8480019efbe3438e8453d473..5bd565b93a8c48640bebfc2ec592ccb3b22bf1de 100644 (file)
@@ -134,7 +134,7 @@ MODULE_DEVICE_TABLE(i2c, st_lsm6dsx_i2c_id_table);
 static struct i2c_driver st_lsm6dsx_driver = {
        .driver = {
                .name = "st_lsm6dsx_i2c",
-               .pm = &st_lsm6dsx_pm_ops,
+               .pm = pm_sleep_ptr(&st_lsm6dsx_pm_ops),
                .of_match_table = st_lsm6dsx_i2c_of_match,
        },
        .probe = st_lsm6dsx_i2c_probe,
index 35556cd04284c5a898badc4e313402b545ec7bee..4df186499802edd878367156f268c4e32c379aba 100644 (file)
@@ -44,7 +44,7 @@ static int st_lsm6dsx_i3c_probe(struct i3c_device *i3cdev)
 static struct i3c_driver st_lsm6dsx_driver = {
        .driver = {
                .name = "st_lsm6dsx_i3c",
-               .pm = &st_lsm6dsx_pm_ops,
+               .pm = pm_sleep_ptr(&st_lsm6dsx_pm_ops),
        },
        .probe = st_lsm6dsx_i3c_probe,
        .id_table = st_lsm6dsx_i3c_ids,
index f5767cf76c1d15b68b16115239bdb474083c3c55..3a206fd4d92cbb16868244803ee9e3c294e15703 100644 (file)
@@ -134,7 +134,7 @@ MODULE_DEVICE_TABLE(spi, st_lsm6dsx_spi_id_table);
 static struct spi_driver st_lsm6dsx_driver = {
        .driver = {
                .name = "st_lsm6dsx_spi",
-               .pm = &st_lsm6dsx_pm_ops,
+               .pm = pm_sleep_ptr(&st_lsm6dsx_pm_ops),
                .of_match_table = st_lsm6dsx_spi_of_match,
        },
        .probe = st_lsm6dsx_spi_probe,