Re: [PATCH v3 1/3] iio: temperature: mlx90632 Add runtime powermanagement modes
From: Jonathan Cameron
Date: Thu Sep 08 2022 - 08:43:51 EST
On Tue, 6 Sep 2022 16:16:07 +0300
Andy Shevchenko <andy.shevchenko@xxxxxxxxx> wrote:
> On Tue, Sep 6, 2022 at 4:04 PM Crt Mori <cmo@xxxxxxxxxxx> wrote:
> > On Tue, 6 Sept 2022 at 14:37, Andy Shevchenko <andy.shevchenko@xxxxxxxxx> wrote:
> > > On Tue, Sep 6, 2022 at 1:52 PM Crt Mori <cmo@xxxxxxxxxxx> wrote:
> > > > On Tue, 6 Sept 2022 at 12:21, Andy Shevchenko <andy.shevchenko@xxxxxxxxx> wrote:
> > > > >
> > > > > Very good and documented code, thanks!
> > > > > I believe you better to use DEFINE_.*_PM_OPS instead of legacy ones
> > > > > (due to pm_ptr() usage).
> > > > > Otherwise, with some nitpicks that wouldn't prevent a green light,
> > > > > Reviewed-by: Andy Shevchenko <andy.shevchenko@xxxxxxxxx>
> > > > >
> > > > I checked DEFINE_.*_PM_OPS usage around drivers and you either have
> > > > SIMPLE (where you define suspend/resume) or you have RUNTIME (for
> > > > runtime suspend/resume), but never are those two together. So I am a
> > > > bit puzzled how to get this working.
> > >
> > > The one which suits here is called _DEFINE_DEV_PM_OPS(). But it's
> > > basically the same what you put here with the possible unused case.
> > >
> > I thought underscore prefixed macros are the ones not to be used
> > directly by drivers. I also found no occurrence in current drivers, so
> > it was not something that was done so far?
> Looks like... Okay, then let's leave it to the maintainer to decide.
Indeed. Discussion ended up at right place. Don't use _DEFINE_DEV_PM_OPS()
in a driver. The solution here is correct as is.
As a side note, I think _DEFINE_DEV_PM_OPS() is getting removed or redefined
as part of tidying up the missing EXPORT_* cases. (I'm too lazy to find the
patch set but it was for mfd drivers).