ASoC: Intel: Skylake: Release topology when we are done with it
Currently topology is kept in memory while driver is running. It's unnecessary, as it's only needed during parsing. Signed-off-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com> Link: https://lore.kernel.org/r/20190827141712.21015-6-amadeuszx.slawinski@linux.intel.com Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
0cc33cecb4
commit
6f43791713
|
@ -3579,23 +3579,25 @@ int skl_tplg_init(struct snd_soc_component *component, struct hdac_bus *bus)
|
|||
* The complete tplg for SKL is loaded as index 0, we don't use
|
||||
* any other index
|
||||
*/
|
||||
ret = snd_soc_tplg_component_load(component,
|
||||
&skl_tplg_ops, fw, 0);
|
||||
ret = snd_soc_tplg_component_load(component, &skl_tplg_ops, fw, 0);
|
||||
if (ret < 0) {
|
||||
dev_err(bus->dev, "tplg component load failed%d\n", ret);
|
||||
release_firmware(fw);
|
||||
return -EINVAL;
|
||||
goto err;
|
||||
}
|
||||
|
||||
skl->tplg = fw;
|
||||
ret = skl_tplg_create_pipe_widget_list(component);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
if (ret < 0) {
|
||||
dev_err(bus->dev, "tplg create pipe widget list failed%d\n",
|
||||
ret);
|
||||
goto err;
|
||||
}
|
||||
|
||||
list_for_each_entry(ppl, &skl->ppl_list, node)
|
||||
skl_tplg_set_pipe_type(skl, ppl->pipe);
|
||||
|
||||
return 0;
|
||||
err:
|
||||
release_firmware(fw);
|
||||
return ret;
|
||||
}
|
||||
|
||||
void skl_tplg_exit(struct snd_soc_component *component, struct hdac_bus *bus)
|
||||
|
@ -3609,6 +3611,4 @@ void skl_tplg_exit(struct snd_soc_component *component, struct hdac_bus *bus)
|
|||
|
||||
/* clean up topology */
|
||||
snd_soc_tplg_component_remove(component, SND_SOC_TPLG_INDEX_ALL);
|
||||
|
||||
release_firmware(skl->tplg);
|
||||
}
|
||||
|
|
|
@ -75,7 +75,6 @@ struct skl_dev {
|
|||
const char *fw_name;
|
||||
char tplg_name[64];
|
||||
unsigned short pci_id;
|
||||
const struct firmware *tplg;
|
||||
|
||||
int supend_active;
|
||||
|
||||
|
|
Loading…
Reference in New Issue