ASoC: intel: Revert "ASoC: Intel: remove unused function hsw_pcm_free_modules()"
authorJie Yang <yang.jie@intel.com>
Sat, 30 May 2015 14:33:56 +0000 (22:33 +0800)
committerMark Brown <broonie@kernel.org>
Tue, 2 Jun 2015 14:34:00 +0000 (15:34 +0100)
This reverts commit 506c148ee5e1bfb836116353305927ca4c21a23e.

We still need this hsw_pcm_free_modules(), we plan to remove the
runtime modules at both fw_unload(D0->D3) and snd_soc_sst_haswell_pcm
module removing.

Signed-off-by: Jie Yang <yang.jie@intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/intel/haswell/sst-haswell-pcm.c

index 1557e37abe19e5b998a20cad4eafa61f20d48ff2..bd96629e094143357f47e5edbab4ffe77b2d3c29 100644 (file)
@@ -920,6 +920,21 @@ err:
        return -ENODEV;
 }
 
+static void hsw_pcm_free_modules(struct hsw_priv_data *pdata)
+{
+       struct sst_hsw *hsw = pdata->hsw;
+       struct hsw_pcm_data *pcm_data;
+       int i;
+
+       for (i = 0; i < ARRAY_SIZE(mod_map); i++) {
+               pcm_data = &pdata->pcm[mod_map[i].dai_id][mod_map[i].stream];
+               sst_hsw_runtime_module_free(pcm_data->runtime);
+       }
+       if (sst_hsw_is_module_loaded(hsw, SST_HSW_MODULE_WAVES)) {
+               sst_hsw_runtime_module_free(pdata->runtime_waves);
+       }
+}
+
 static int hsw_pcm_new(struct snd_soc_pcm_runtime *rtd)
 {
        struct snd_pcm *pcm = rtd->pcm;