]> git.proxmox.com Git - mirror_ubuntu-hirsute-kernel.git/blobdiff - sound/soc/codecs/wm5102.c
Merge remote-tracking branches 'asoc/topic/adsp', 'asoc/topic/ak4624', 'asoc/topic...
[mirror_ubuntu-hirsute-kernel.git] / sound / soc / codecs / wm5102.c
index a8b3e3f701f964bdd3b54869a655d9cbfec74264..da60e3fe5ee7afb37740b750e0f15f6156d6a4eb 100644 (file)
@@ -1955,11 +1955,16 @@ err_adsp2_codec_probe:
 static int wm5102_codec_remove(struct snd_soc_codec *codec)
 {
        struct wm5102_priv *priv = snd_soc_codec_get_drvdata(codec);
+       struct arizona *arizona = priv->core.arizona;
 
        wm_adsp2_codec_remove(&priv->core.adsp[0], codec);
 
        priv->core.arizona->dapm = NULL;
 
+       arizona_free_irq(arizona, ARIZONA_IRQ_DSP_IRQ1, priv);
+
+       arizona_free_spk(codec);
+
        return 0;
 }
 
@@ -2093,10 +2098,14 @@ static int wm5102_probe(struct platform_device *pdev)
 
 static int wm5102_remove(struct platform_device *pdev)
 {
+       struct wm5102_priv *wm5102 = platform_get_drvdata(pdev);
+
        snd_soc_unregister_platform(&pdev->dev);
        snd_soc_unregister_codec(&pdev->dev);
        pm_runtime_disable(&pdev->dev);
 
+       wm_adsp2_remove(&wm5102->core.adsp[0]);
+
        return 0;
 }