Re: [PATCH 0/5] Rework pm_ptr() and *_PM_OPS macros
From: "Rafael J. Wysocki" <rafael@kernel.org>
Date: 2021-12-17 15:07:48
Also in:
linux-mmc, linux-pm, lkml, netdev
On Tue, Dec 7, 2021 at 10:22 AM Arnd Bergmann [off-list ref] wrote:
On Tue, Dec 7, 2021 at 1:20 AM Paul Cercueil [off-list ref] wrote:quoted
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@arndb.de>
Patches [0-3/5] applied as 5.17 material. The mmc patches need ACKs, but I can take them too.