Hi! Crazy idea... could we kill hibernate_ops-like struct, and just create a device for ACPI, using its suspend()/resume()/whatever callbacks to do the ACPI magic? > Okay. Since we're trying to separate the hibernation code from the > suspend code anyway, we can use the opportunity to introduce some new > callbacks for the hibernation and/or redefine the existing ones. > > The spec suggests that we need the following callbacks: > > (1) prepare() - called after device_suspend(), execute _PTS and > disable GPEs sysdev .suspend() method would do the trick. > (2) cancel() - called at any time after prepare() if there's an error, execute > _WAK and enable run-time GPEs sysdev .resume() should do the trick. > (3) enter() - called after the image has been saved, execute _GTS and do what's > currently done in pm_enter() This one is tricky. It is essentially powerdown_but_enter_S4_instead. I guess we can live with if()... as we need to special-case reboot in the same place. > (4) finish() - called after the image has been restored, do what's currently > done in pm_finish() platform (?) device .resume() method should work. Pavel -- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html _______________________________________________ linux-pm mailing list linux-pm@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/linux-pm