summaryrefslogtreecommitdiff
path: root/sound/soc/intel/skylake/skl.c
diff options
context:
space:
mode:
authorVinod Koul <vinod.koul@intel.com>2016-03-15 14:09:24 +0300
committerMark Brown <broonie@kernel.org>2016-03-16 13:08:43 +0300
commit7373f481dc4098a844a756201e98341bc56baaa2 (patch)
tree9b137cb3c0956f401b690a70620d64b88df24adf /sound/soc/intel/skylake/skl.c
parent4a6c5e6a8d29e4d33858227db9179e91aa8a7407 (diff)
downloadlinux-7373f481dc4098a844a756201e98341bc56baaa2.tar.xz
ASoC: Intel: Skylake: free codec objects on removal
On driver removal we should ask the core to remove the device objects as well, so invoke snd_hdac_ext_bus_device_remove() in remove. Signed-off-by: Jeeja KP <jeeja.kp@intel.com> Signed-off-by: Vinod Koul <vinod.koul@intel.com> Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'sound/soc/intel/skylake/skl.c')
-rw-r--r--sound/soc/intel/skylake/skl.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/sound/soc/intel/skylake/skl.c b/sound/soc/intel/skylake/skl.c
index ab5e25aaeee3..292d51db9a22 100644
--- a/sound/soc/intel/skylake/skl.c
+++ b/sound/soc/intel/skylake/skl.c
@@ -725,6 +725,10 @@ static void skl_remove(struct pci_dev *pci)
if (pci_dev_run_wake(pci))
pm_runtime_get_noresume(&pci->dev);
pci_dev_put(pci);
+
+ /* codec removal, invoke bus_device_remove */
+ snd_hdac_ext_bus_device_remove(ebus);
+
skl_platform_unregister(&pci->dev);
skl_free_dsp(skl);
skl_machine_device_unregister(skl);