On Mon, 2004-11-01 at 23:15 -0500, Alan Stern wrote: > On Tue, 2 Nov 2004, Benjamin Herrenschmidt wrote: > > > The fact that all suspend() callbacks imply freeze, which is a drivers > > state, makes me think that freeze is just what ... suspend() means. That > > is, we can get rid of the "freeze" semantic altogether if we consider > > that the pm_message contains a suggested "abstract" power state. suspend > > with state "on" would mean freeze. > > 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. Ben.