[PATCH v2 1/6] iio: adc: ti-ads1015: use DEFINE_RUNTIME_DEV_PM_OPS()
From: Archit Anant
Date: Mon Jul 27 2026 - 15:27:34 EST
Replace the deprecated SET_RUNTIME_PM_OPS() with the modern
DEFINE_RUNTIME_DEV_PM_OPS() macro. This allows for the removal of the
macro automatically handles dropping unused functions when PM is
disabled.
Update the driver struct to use pm_ptr() to avoid unused variable
warnings.
Signed-off-by: Archit Anant <architanant5@xxxxxxxxx>
---
drivers/iio/adc/ti-ads1015.c | 12 +++++-------
1 file changed, 5 insertions(+), 7 deletions(-)
diff --git a/drivers/iio/adc/ti-ads1015.c b/drivers/iio/adc/ti-ads1015.c
index 8a272af69f7d..9cd620b71429 100644
--- a/drivers/iio/adc/ti-ads1015.c
+++ b/drivers/iio/adc/ti-ads1015.c
@@ -1066,7 +1066,6 @@ static void ads1015_remove(struct i2c_client *client)
ERR_PTR(ret));
}
-#ifdef CONFIG_PM
static int ads1015_runtime_suspend(struct device *dev)
{
struct iio_dev *indio_dev = i2c_get_clientdata(to_i2c_client(dev));
@@ -1087,12 +1086,11 @@ static int ads1015_runtime_resume(struct device *dev)
return ret;
}
-#endif
-static const struct dev_pm_ops ads1015_pm_ops = {
- SET_RUNTIME_PM_OPS(ads1015_runtime_suspend,
- ads1015_runtime_resume, NULL)
-};
+static DEFINE_RUNTIME_DEV_PM_OPS(ads1015_pm_ops,
+ ads1015_runtime_suspend,
+ ads1015_runtime_resume,
+ NULL);
static const struct ads1015_chip_data ads1015_data = {
.channels = ads1015_channels,
@@ -1147,7 +1145,7 @@ static struct i2c_driver ads1015_driver = {
.driver = {
.name = ADS1015_DRV_NAME,
.of_match_table = ads1015_of_match,
- .pm = &ads1015_pm_ops,
+ .pm = pm_ptr(&ads1015_pm_ops),
},
.probe = ads1015_probe,
.remove = ads1015_remove,
--
2.39.5