|
@@ -530,6 +530,15 @@ static int soc_ac97_dev_register(struct snd_soc_codec *codec)
|
|
|
}
|
|
|
#endif
|
|
|
|
|
|
+static void codec2codec_close_delayed_work(struct work_struct *work)
|
|
|
+{
|
|
|
+ /* Currently nothing to do for c2c links
|
|
|
+ * Since c2c links are internal nodes in the DAPM graph and
|
|
|
+ * don't interface with the outside world or application layer
|
|
|
+ * we don't have to do any special handling on close.
|
|
|
+ */
|
|
|
+}
|
|
|
+
|
|
|
#ifdef CONFIG_PM_SLEEP
|
|
|
/* powers down audio subsystem for suspend */
|
|
|
int snd_soc_suspend(struct device *dev)
|
|
@@ -1428,6 +1437,9 @@ static int soc_probe_link_dais(struct snd_soc_card *card, int num, int order)
|
|
|
return ret;
|
|
|
}
|
|
|
} else {
|
|
|
+ INIT_DELAYED_WORK(&rtd->delayed_work,
|
|
|
+ codec2codec_close_delayed_work);
|
|
|
+
|
|
|
/* link the DAI widgets */
|
|
|
play_w = codec_dai->playback_widget;
|
|
|
capture_w = cpu_dai->capture_widget;
|