Re: [PATCH V2] au1xmmc: dev_pm_ops conversion

From: Dmitry Torokhov
Date: Sat Jul 25 2009 - 17:41:20 EST


On Jul 25, 2009, at 1:21 PM, Frans Pop <elendil@xxxxxxxxx> wrote:

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.



Pcspkr should be fine as is since we just want to shut it off and with s2d it will happen automatically when we power down.

--
Dmitry

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/