diff options
author | Charles Keepax <ckeepax@opensource.wolfsonmicro.com> | 2016-04-15 14:11:56 +0200 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2016-04-15 19:01:02 +0200 |
commit | 54dca7015a7d6c09d34623c6ec61de30896186dd (patch) | |
tree | b729c587dc798247b6305bfa6ff558277f5d3f59 /sound/soc/codecs/arizona.c | |
parent | Linux 4.6-rc1 (diff) | |
download | linux-54dca7015a7d6c09d34623c6ec61de30896186dd.tar.xz linux-54dca7015a7d6c09d34623c6ec61de30896186dd.zip |
ASoC: arizona: Free speaker thermal IRQs in CODEC remove
The thermal warning IRQs for the speaker are requested in CODEC probe
but never freed. This patch frees them in CODEC remove.
Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'sound/soc/codecs/arizona.c')
-rw-r--r-- | sound/soc/codecs/arizona.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/sound/soc/codecs/arizona.c b/sound/soc/codecs/arizona.c index 92d22a018d68..83959312f7a0 100644 --- a/sound/soc/codecs/arizona.c +++ b/sound/soc/codecs/arizona.c @@ -249,6 +249,18 @@ int arizona_init_spk(struct snd_soc_codec *codec) } EXPORT_SYMBOL_GPL(arizona_init_spk); +int arizona_free_spk(struct snd_soc_codec *codec) +{ + struct arizona_priv *priv = snd_soc_codec_get_drvdata(codec); + struct arizona *arizona = priv->arizona; + + arizona_free_irq(arizona, ARIZONA_IRQ_SPK_OVERHEAT_WARN, arizona); + arizona_free_irq(arizona, ARIZONA_IRQ_SPK_OVERHEAT, arizona); + + return 0; +} +EXPORT_SYMBOL_GPL(arizona_free_spk); + static const struct snd_soc_dapm_route arizona_mono_routes[] = { { "OUT1R", NULL, "OUT1L" }, { "OUT2R", NULL, "OUT2L" }, |