int snd_soc_card_suspend_pre(struct snd_soc_card *card);
 int snd_soc_card_suspend_post(struct snd_soc_card *card);
+int snd_soc_card_resume_pre(struct snd_soc_card *card);
 
 /* device driver data */
 static inline void snd_soc_card_set_drvdata(struct snd_soc_card *card,
 
 
        return soc_card_ret(card, ret);
 }
+
+int snd_soc_card_resume_pre(struct snd_soc_card *card)
+{
+       int ret = 0;
+
+       if (card->resume_pre)
+               ret = card->resume_pre(card);
+
+       return soc_card_ret(card, ret);
+}
 
        /* Bring us up into D2 so that DAPM starts enabling things */
        snd_power_change_state(card->snd_card, SNDRV_CTL_POWER_D2);
 
-       if (card->resume_pre)
-               card->resume_pre(card);
+       snd_soc_card_resume_pre(card);
 
        for_each_card_components(card, component) {
                if (snd_soc_component_is_suspended(component))