summaryrefslogtreecommitdiff
path: root/sound/soc/codecs/wm8995.c
diff options
context:
space:
mode:
authorAxel Lin <axel.lin@gmail.com>2011-09-30 11:54:44 +0800
committerMark Brown <broonie@opensource.wolfsonmicro.com>2011-09-30 12:56:16 +0100
commit5992c58781a38e193caf2fb6a5f4808d84af8591 (patch)
treed96db23be7caa29f375b1b106afb90f87dc54010 /sound/soc/codecs/wm8995.c
parent6423aa9154e247752e8894ad686959d39be659f9 (diff)
ASoC: Add missed regulator_unregister_notifier and regulator_bulk_free in wm8995_remove
Signed-off-by: Axel Lin <axel.lin@gmail.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Diffstat (limited to 'sound/soc/codecs/wm8995.c')
-rw-r--r--sound/soc/codecs/wm8995.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/sound/soc/codecs/wm8995.c b/sound/soc/codecs/wm8995.c
index 74ae5995a786..e05ee7969113 100644
--- a/sound/soc/codecs/wm8995.c
+++ b/sound/soc/codecs/wm8995.c
@@ -1573,9 +1573,16 @@ static int wm8995_resume(struct snd_soc_codec *codec)
static int wm8995_remove(struct snd_soc_codec *codec)
{
struct wm8995_priv *wm8995;
+ int i;
wm8995 = snd_soc_codec_get_drvdata(codec);
wm8995_set_bias_level(codec, SND_SOC_BIAS_OFF);
+
+ for (i = 0; i < ARRAY_SIZE(wm8995->supplies); ++i)
+ regulator_unregister_notifier(wm8995->supplies[i].consumer,
+ &wm8995->disable_nb[i]);
+
+ regulator_bulk_free(ARRAY_SIZE(wm8995->supplies), wm8995->supplies);
return 0;
}