Merge remote-tracking branch 'asoc/fix/intel' into asoc-linus
This commit is contained in:
commit
bc42f363da
|
@ -1240,7 +1240,6 @@ int skl_tplg_init(struct snd_soc_platform *platform, struct hdac_ext_bus *ebus)
|
|||
*/
|
||||
ret = snd_soc_tplg_component_load(&platform->component,
|
||||
&skl_tplg_ops, fw, 0);
|
||||
release_firmware(fw);
|
||||
if (ret < 0) {
|
||||
dev_err(bus->dev, "tplg component load failed%d\n", ret);
|
||||
return -EINVAL;
|
||||
|
@ -1249,5 +1248,7 @@ int skl_tplg_init(struct snd_soc_platform *platform, struct hdac_ext_bus *ebus)
|
|||
skl->resource.max_mcps = SKL_MAX_MCPS;
|
||||
skl->resource.max_mem = SKL_FW_MAX_MEM;
|
||||
|
||||
skl->tplg = fw;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
|
@ -25,6 +25,7 @@
|
|||
#include <linux/pci.h>
|
||||
#include <linux/pm_runtime.h>
|
||||
#include <linux/platform_device.h>
|
||||
#include <linux/firmware.h>
|
||||
#include <sound/pcm.h>
|
||||
#include "skl.h"
|
||||
|
||||
|
@ -520,6 +521,9 @@ static void skl_remove(struct pci_dev *pci)
|
|||
struct hdac_ext_bus *ebus = pci_get_drvdata(pci);
|
||||
struct skl *skl = ebus_to_skl(ebus);
|
||||
|
||||
if (skl->tplg)
|
||||
release_firmware(skl->tplg);
|
||||
|
||||
if (pci_dev_run_wake(pci))
|
||||
pm_runtime_get_noresume(&pci->dev);
|
||||
pci_dev_put(pci);
|
||||
|
|
|
@ -68,6 +68,8 @@ struct skl {
|
|||
struct skl_dsp_resource resource;
|
||||
struct list_head ppl_list;
|
||||
struct list_head dapm_path_list;
|
||||
|
||||
const struct firmware *tplg;
|
||||
};
|
||||
|
||||
#define skl_to_ebus(s) (&(s)->ebus)
|
||||
|
|
Loading…
Reference in a new issue