Hi Doug, On 10/07/13 00:19, Doug Anderson wrote: > On some devices (like exynos5420) the dw_mmc controller may be in a > strange state after we wake up from sleep. Add callbacks to allow for > dealing with these quirks. We use the "_noirq" versions of the > callbacks since in the case of exynos5420 the strange state caused > interrupts to fire so we need to deal with it while interrupts are > still off. > > At the moment this support is only added to dw_mmc-pltfm which calls > straight to the callback, since nobody but exynos needs it. We can > add some levels of indirection (a call into the generic dw_mmc code) > when someone finds a need. > > Signed-off-by: Doug Anderson <dianders@xxxxxxxxxxxx> Reviewed-by: James Hogan <james.hogan@xxxxxxxxxx> <snip> > > -SIMPLE_DEV_PM_OPS(dw_mci_pltfm_pmops, dw_mci_pltfm_suspend, dw_mci_pltfm_resume); > +const struct dev_pm_ops dw_mci_pltfm_pmops = { > + SET_SYSTEM_SLEEP_PM_OPS(dw_mci_pltfm_suspend, dw_mci_pltfm_resume) > + .suspend_noirq = dw_mci_pltfm_suspend_noirq, > + .resume_noirq = dw_mci_pltfm_resume_noirq, > +}; Does Exynos support hibernation? I see that SET_SYSTEM_SLEEP_PM_OPS sets freeze, thaw, poweroff, and restore callbacks too. You may not need the hibernation specific _noirq callbacks though in which case it's probably fine as it is. Cheers James -- To unsubscribe from this list: send the line "unsubscribe linux-mmc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html