[PATCH v6 01/11] iio: adc: ti-ads1015: use DEFINE_RUNTIME_DEV_PM_OPS()

From: Archit Anant

Date: Mon Nov 09 2026 - 11:59:29 EST


Replace the deprecated SET_RUNTIME_PM_OPS() with
DEFINE_RUNTIME_DEV_PM_OPS().

This also configures the system sleep PM operations to use the
runtime suspend and resume callbacks, ensuring that the device
is properly suspended and resumed during system sleep transitions.

The new macro also handles dropping unused functions when
CONFIG_PM is disabled, eliminating the need for explicit
preprocessor conditionals.

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 0f9244107c6dd..7211cefc731d1 100644
--- a/drivers/iio/adc/ti-ads1015.c
+++ b/drivers/iio/adc/ti-ads1015.c
@@ -1089,7 +1089,6 @@ static int ads1015_probe(struct i2c_client *client)
return devm_iio_device_register(&client->dev, indio_dev);
}

-#ifdef CONFIG_PM
static int ads1015_runtime_suspend(struct device *dev)
{
struct iio_dev *indio_dev = i2c_get_clientdata(to_i2c_client(dev));
@@ -1110,12 +1109,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,
@@ -1170,7 +1168,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,
.id_table = ads1015_id,
--
2.39.5