Re: [PATCH v5 01/10] iio: adc: ti-ads1015: use DEFINE_RUNTIME_DEV_PM_OPS()

From: Jonathan Cameron

Date: Sun Oct 18 2026 - 21:44:50 EST


On Wed, 30 Sep 2026 22:41:55 +0530
Archit Anant <architanant5@xxxxxxxxx> wrote:

> 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.

Hi Archit,


It does more than that... Take a look at the definition of that
macro. Key is it also uses the runtime callbacks for suspend and
resume (the sleep PM operations).

That shouldn't be a problem but good to make it clear this is a functional
change and to have a good think about whether that matters.

Thanks,

Jonathan

>
> 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 0fbfa4e499aa..93a165c5416a 100644
> --- a/drivers/iio/adc/ti-ads1015.c
> +++ b/drivers/iio/adc/ti-ads1015.c
> @@ -1059,7 +1059,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));
> @@ -1080,12 +1079,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,
> @@ -1140,7 +1138,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,