On Tue, Dec 7, 2021 at 1:20 AM Paul Cercueil <paul@xxxxxxxxxxxxxxx> wrote: > > This patchset reworks the pm_ptr() macro I introduced a few versions > ago, so that it is not conditionally defined. > > It applies the same treatment to the *_PM_OPS macros. Instead of > modifying the existing ones, which would mean a 2000+ patch bomb, this > patchset introduce two new macros to replace the now deprecated > UNIVERSAL_DEV_PM_OPS() and SIMPLE_DEV_PM_OPS(). > > The point of all of this, is to progressively switch from a code model > where PM callbacks are all protected behind CONFIG_PM guards, to a code > model where PM callbacks are always seen by the compiler, but discarded > if not used. > > Patch [4/5] and [5/5] are just examples to illustrate the use of the new > macros. As such they don't really have to be merged at the same time as > the rest and can be delayed until a subsystem-wide patchset is proposed. > > - Patch [4/5] modifies a driver that already used the pm_ptr() macro, > but had to use the __maybe_unused flag to avoid compiler warnings; > - Patch [5/5] modifies a driver that used a #ifdef CONFIG_PM guard > around its suspend/resume functions. This is fantastic, I love the new naming and it should provide a great path towards converting all drivers eventually. I've added the patches to my randconfig test build box to see if something breaks, but otherwise I think these are ready to get into linux-next, at least patches 1-3, so subsystem maintainers can start queuing up the conversion patches once the initial set is merged. Reviewed-by: Arnd Bergmann <arnd@xxxxxxxx>