Re: [PATCH v2 1/6] iio: adc: ti-ads1015: use DEFINE_RUNTIME_DEV_PM_OPS()

Archit Anant <[email protected]> Mon, 3 Aug 2026 12:52:35 +0530
Newsgroups org.kernel.vger.linux-iio,org.kernel.vger.linux-kernel
Message-ID <CADJHxWB7mGCxuoDU9u=2KxTr_eiNxHjaTPD+sUMe03mZ2bc7SQ@mail.gmail.com>
On Sat, Aug 1, 2026 at 11:58=E2=80=AFPM Jonathan Cameron <[email protected]>=
 wrote:
>
> On Tue, 28 Jul 2026 00:50:57 +0530
> Archit Anant <[email protected]> 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.
> >
> > Update the driver struct to use pm_ptr() to avoid unused variable
> > warnings.
> >
> > Signed-off-by: Archit Anant <[email protected]>
> Hi Archit,
>
> This looks fine but did make me look at the code that was being protected
> and in particular ads1015_set_conv_mode()
>
> A few things jump out about that which might make sense for further impro=
vement
> if you want to take them on.
>
>
> > static int ads1015_set_conv_mode(struct ads1015_data *data, int mode)
> > {
> >       return regmap_update_bits(data->regmap, ADS1015_CFG_REG,
> >                                 ADS1015_CFG_MOD_MASK,
> >                                 mode << ADS1015_CFG_MOD_SHIFT);#
>
> Use FIELD_PREP() here and drop the ADS1015_CFG_MOD_SHIFT macro.
> That made me wonder how extensive _SHIFT macros are in this driver and th=
e
> answer is very!  Get rid of all of them in favour of FIELD_PREP()
> and FIELD_GREP() and using the field masks.
>
>
> > }
> The other thing is the question of why this function exists at all
> given with the value of mode inline it would be obvious what it is doing
> without the wrapper and this is the only similar little helper function.
>
> I'd squash it so we do the regmap_update_bits() calls directly instead
> of via this helper function.
>
> I did debate whether brining setting conv_invalid into the function made
> sense but on balance I think not.
>
> If you do make these changes, 1 patch for dropping all the _SHIFT
> macros and replacing with FIELD_PREP() / FIELD_GET() and a second
> patch to remove the helper function.

Understood. I'll include these two patches and send the new series shortly.

>
> Thanks,
>
> Jonathan
>

--=20
Sincerely,
Archit Anant