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