On Saturday 25 July 2009, Rafael J. Wysocki wrote: > > > > Was suspend to disk tested? It requires freeze()/thaw(). > > > > > > Is that a regression introduced by this patch then? If so, many > > > more of the recent dev_pm_ops conversion patches would need to be > > > revisited. > > Yes, they would. In general, you'd probably want to do something like > this: > > static struct dev_pm_ops au1xmmc_pmops = { > .resume = au1xmmc_resume, > .suspend = au1xmmc_suspend, > .freeze = au1xmmc_resume, > .thaw = au1xmmc_suspend, > .restore = au1xmmc_resume, > .poweroff = au1xmmc_suspend, > }; > > but in this particular case it's probably better to define separate > callbacks for .freeze() and .thaw() at least. > > During hibernation we call .freeze() and .thaw() before and after > creating the image, respectively, and then .poweroff() is called right > after the image has been saved. During resume .freeze() is called > after the image has been loaded and before the control goes to the > image kernel, which then calls .restore(). Yes, I see that in drivers/base/platform.c (legacy) .suspend resp. .resume also got called for those cases? Ouch :-( I've added others who've submitted dev_pm_ops patches in CC. > I'll fix up the floppy and hp-wmi patches. Note that those are already in mainline, as is pcspkr. Thanks, FJP