ASoC: core: Don't overwrite .poweroff in snd_soc_pm_ops
authorViresh Kumar <viresh.kumar@st.com>
Fri, 24 Feb 2012 10:55:49 +0000 (16:25 +0530)
committerMark Brown <broonie@opensource.wolfsonmicro.com>
Fri, 24 Feb 2012 14:46:26 +0000 (14:46 +0000)
SET_SYSTEM_SLEEP_PM_OPS writes .poweroff = *_resume once. Then we overwrite it
again explicitly as .poweroff = snd_soc_poweroff. Even though it works, as the
second one overwrites the first one, this is not the correct way. Fix this by
expanding SET_SYSTEM_SLEEP_PM_OPS in our structure.

Signed-off-by: Viresh Kumar <viresh.kumar@st.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
sound/soc/soc-core.c

index fc0fd3485e7da414e0a1fdc042984c01ba4fbc51..1bdc67e0bd16eb4c8fa59ea8a2c3a24feea3257b 100644 (file)
@@ -1718,8 +1718,12 @@ int snd_soc_poweroff(struct device *dev)
 EXPORT_SYMBOL_GPL(snd_soc_poweroff);
 
 const struct dev_pm_ops snd_soc_pm_ops = {
-       SET_SYSTEM_SLEEP_PM_OPS(snd_soc_suspend, snd_soc_resume)
+       .suspend = snd_soc_suspend,
+       .resume = snd_soc_resume,
+       .freeze = snd_soc_suspend,
+       .thaw = snd_soc_resume,
        .poweroff = snd_soc_poweroff,
+       .restore = snd_soc_resume,
 };
 EXPORT_SYMBOL_GPL(snd_soc_pm_ops);