int num_of_dapm_routes;
        bool fully_routed;
 
-       struct work_struct deferred_resume_work;
-
        /* lists of probed devices belonging to this card */
        struct list_head component_dev_list;
        struct list_head list;
 
 #ifdef CONFIG_DEBUG_FS
        struct dentry *debugfs_card_root;
+#endif
+#ifdef CONFIG_PM_SLEEP
+       struct work_struct deferred_resume_work;
 #endif
        u32 pop_time;
 
 
        return 0;
 }
 EXPORT_SYMBOL_GPL(snd_soc_resume);
+
+static void soc_resume_init(struct snd_soc_card *card)
+{
+       /* deferred resume work */
+       INIT_WORK(&card->deferred_resume_work, soc_resume_deferred);
+}
 #else
 #define snd_soc_suspend NULL
 #define snd_soc_resume NULL
+static inline void soc_resume_init(struct snd_soc_card *card)
+{
+}
 #endif
 
 static const struct snd_soc_dai_ops null_dai_ops = {
 
        soc_init_card_debugfs(card);
 
-#ifdef CONFIG_PM_SLEEP
-       /* deferred resume work */
-       INIT_WORK(&card->deferred_resume_work, soc_resume_deferred);
-#endif
+       soc_resume_init(card);
 
        ret = snd_soc_dapm_new_controls(&card->dapm, card->dapm_widgets,
                                        card->num_dapm_widgets);