[alsa-devel] [PATCH 2/6] ASoC: Intel: Skylake: free codec objects on removal

Vinod Koul vinod.koul at intel.com
Tue Mar 15 10:57:12 CET 2016


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 at intel.com>
Signed-off-by: Vinod Koul <vinod.koul at intel.com>
---
 sound/soc/intel/skylake/skl.c | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/sound/soc/intel/skylake/skl.c b/sound/soc/intel/skylake/skl.c
index ab5e25aaeee3..371df495dd14 100644
--- a/sound/soc/intel/skylake/skl.c
+++ b/sound/soc/intel/skylake/skl.c
@@ -454,6 +454,14 @@ static int skl_codec_create(struct hdac_ext_bus *ebus)
 	return 0;
 }
 
+/*
+ * codec destructor
+ */
+static void skl_codecs_remove(struct hdac_ext_bus *ebus)
+{
+	snd_hdac_ext_bus_device_remove(ebus);
+}
+
 static const struct hdac_bus_ops bus_core_ops = {
 	.command = snd_hdac_bus_send_cmd,
 	.get_response = snd_hdac_bus_get_response,
@@ -725,6 +733,7 @@ static void skl_remove(struct pci_dev *pci)
 	if (pci_dev_run_wake(pci))
 		pm_runtime_get_noresume(&pci->dev);
 	pci_dev_put(pci);
+	skl_codecs_remove(ebus);
 	skl_platform_unregister(&pci->dev);
 	skl_free_dsp(skl);
 	skl_machine_device_unregister(skl);
-- 
1.9.1



More information about the Alsa-devel mailing list