Re: [PATCH] PCI/PM: Prevent runtime suspend before devices are fully initialized

From: Brian Norris

Date: Tue Oct 21 2025 - 14:27:42 EST


On Tue, Oct 21, 2025 at 04:18:54PM +0300, Ilpo Järvinen wrote:
> On Tue, 21 Oct 2025, Rafael J. Wysocki wrote:
> > So the purpose of this "forbid" call in pci_pm_init() is to "block"
> > runtime PM for PCI devices by default, but allow user space to
> > "unblock" it later.
> >
> > Would adding a comment to that effect next to that call be useful?
>
> It would be useful to improve the wording in PM documentation which is too
> ambiguous. I suggest changing this:
>
> "void pm_runtime_forbid(struct device *dev);
>
> unset the power.runtime_auto flag for the device and increase its
> usage counter (used by the /sys/devices/.../power/control interface to
> effectively prevent the device from being power managed at run time).
>
> to:
>
> "... (used to prevent the device from being power managed at run time
> until pm_runtime_allow() or /sys/devices/.../power/control interface
> allows it)."

Looks like a good change to me, even if just scratching the surface. If
this goes in a patch, you can add my:

Reviewed-by: Brian Norris <briannorris@xxxxxxxxxxxx>

A separate problem that sorta stopped me from trying to rewrite some of
the Documentation/ is that we have both
Documentation/power/runtime_pm.rst and kerneldoc in
include/linux/pm_runtime.h + drivers/base/power/runtime.c. It doesn't
feel great having separate variations of the same API docs.

But hey, I shouldn't let "perfect" be the enemy of progress.

Brian