On Tue, 2004-11-02 at 15:55 -0500, Alan Stern wrote: > On Tue, 2 Nov 2004, Benjamin Herrenschmidt wrote: > > > > To clarify one point -- if a device is already in a low-power state would > > > suspend with state "on" imply that the device must go to its full-power > > > state, or is it always consistent with a suspend request to go to a state > > > with <= the requested power level? > > > > No. The only accepted transition from a frozen state is via resume(). > > The reason is that if you got a freeze, then you parent device (bus) is > > probably frozen too and you may not be able to talk to your device at > > all. > > Then what happens with STD, where in the last step almost every device > must make the transition from frozen to off? Devices are woken up from frozen for writing the suspend image. > What if it's known that the device is frozen but the parent isn't? Then > there would be no problem. That never happens unless we do partial tree or that sort of thing. > How can it be illegal for the PM core to ask frozen devices to make > transitions if it doesn't know whether or not they are frozen (i.e., if > the dev->power.power_state field is gone)? I think we must keep that knowledge, though power_state is a bad name for it, at least as an information for us, especially if we do partial tree suspend. Ben.