Re: [RFC][PATCH 4/4] PM: Permit registrarion of parentless devices during system suspend

Alan Stern
2010-12-13T04:09:21Z

On Mon, 13 Dec 2010, Rafael J. Wysocki wrote:

> From: Rafael J. Wysocki <rjw@sisk.pl>
>
> The registration of a new parentless device during system suspend
> will not lead to any complications affecting the PM core (the device
> will be effectively seen after the subsequent resume has completed),
> so remove the code used for detection of such events.

Actually the tests you're changing were never as strong as they should
have been. Drivers are supposed to avoid registering new children
beneath a device as soon as the device has gone through the "prepare"
stage, not just after the device is suspended. Should there be a
"prepared" bitflag to help implement this stronger test?

In principle the same idea applies to parentless devices, since they
can be considered children of the "system device" (a fictitious node at
the root of the device tree). The "system" goes into the prepared
state before all the real devices; that's what the transition_started
variable was all about. It's nothing more than the "prepared" bitflag
for the "system device".

I guess it's okay to be lenient and not check for this. But should we
then change the documentation to match? (Note that the warning won't
be triggered if a new child is registered _as_ the parent is
suspending. Not to mention the possibilities for mischief when devices
are suspended asynchronously. But as you say, these complications
don't affect the PM core.)

Alan Stern