Thread (12 messages) 12 messages, 5 authors, 2021-12-17

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.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help