On Friday, 27 April 2007 16:49, Johannes Berg wrote: > On Fri, 2007-04-27 at 16:39 +0200, Johannes Berg wrote: > > > Good point. Though if we go for passing the interrupt-enable setting as > > an argument then many drivers will have the same > > "if (irqs_disabled()) return" code. Hm. I guess passing it isn't even > > strictly necessary. > > Eh, the point I actually wanted to make is that many drivers don't care > for the irqs disabled case and would have to add code to exclude it. I think we can use 'stages' and pass them as arguments to the functions. In that case we can have two callbacks for the hibernation (I'd prefer to say 'hibernation' instead of 'suspend to disk' from now on), one 'quiesce' callback and one 'activate' callback that can be called many times in one snapshot/restore cycle with different arguments, for example: quiesce(PREPARE) -- that may be needed for drivers that allocate much memory before quiescing devices (if any) ... quiesce(PRE_SNAPSHOT) ... quiesce(PRE_SNAPSHOT_IRQ_OFF) ... activate(POST_SNAPSHOT_IRQ_OFF) ... activate(POST_SNAPSHOT) ... activate(FINISH) etc. Greetings, Rafael _______________________________________________ linux-pm mailing list linux-pm@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/linux-pm