On Friday 16 June 2006 2:28 pm, Pavel Machek wrote: > > > > It's not so different from what Linus has been sketching, except > > > for the actual turn-off-DMA step. (Needed because you want to get > > > an atomic snapshot.) In terms of $SUBJECT the gain is that you > > > actually get a debuggable suspend sequence. > > > > Actually, if the _only_ thing STD wants to do, why not just have a > > > > ->freeze(dev) > > ->unfreeze(dev) > > > > call-in? > > Unfortunately, it is not the _only_ thing STD needs to do. unfreeze() > must be able to reinitialize/resume the device during resume. Not really ... because resuming drivers get resume() calls, and were first told to suspend(). Another difference between just quiescing a driver and suspending it is that when you suspend, the device will potentially need to be enabled as a wakeup event source ... which is never true with just quiescing the device. Of course, this is again a difference that most drivers will ignore. ("Wakeup event? What's that?") - Dave