aboutsummaryrefslogtreecommitdiffstats
path: root/sound/soc/codecs/wm8994.c
diff options
context:
space:
mode:
Diffstat (limited to 'sound/soc/codecs/wm8994.c')
-rw-r--r--sound/soc/codecs/wm8994.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/sound/soc/codecs/wm8994.c b/sound/soc/codecs/wm8994.c
index 3fd7422df408..d2dcaa29c7ca 100644
--- a/sound/soc/codecs/wm8994.c
+++ b/sound/soc/codecs/wm8994.c
@@ -2932,6 +2932,12 @@ static int wm8994_codec_probe(struct snd_soc_codec *codec)
2932 break; 2932 break;
2933 } 2933 }
2934 2934
2935 ret = wm8994_request_irq(codec->control_data, WM8994_IRQ_DCS_DONE,
2936 wm_hubs_dcs_done, "DC servo done",
2937 &wm8994->hubs);
2938 if (ret == 0)
2939 wm8994->hubs.dcs_done_irq = true;
2940
2935 switch (control->type) { 2941 switch (control->type) {
2936 case WM8994: 2942 case WM8994:
2937 if (wm8994->micdet_irq) { 2943 if (wm8994->micdet_irq) {
@@ -3173,6 +3179,8 @@ err_irq:
3173 wm8994_free_irq(codec->control_data, WM8994_IRQ_MIC1_SHRT, wm8994); 3179 wm8994_free_irq(codec->control_data, WM8994_IRQ_MIC1_SHRT, wm8994);
3174 if (wm8994->micdet_irq) 3180 if (wm8994->micdet_irq)
3175 free_irq(wm8994->micdet_irq, wm8994); 3181 free_irq(wm8994->micdet_irq, wm8994);
3182 wm8994_free_irq(codec->control_data, WM8994_IRQ_DCS_DONE,
3183 &wm8994->hubs);
3176err: 3184err:
3177 kfree(wm8994); 3185 kfree(wm8994);
3178 return ret; 3186 return ret;
@@ -3187,6 +3195,9 @@ static int wm8994_codec_remove(struct snd_soc_codec *codec)
3187 3195
3188 pm_runtime_disable(codec->dev); 3196 pm_runtime_disable(codec->dev);
3189 3197
3198 wm8994_free_irq(codec->control_data, WM8994_IRQ_DCS_DONE,
3199 &wm8994->hubs);
3200
3190 switch (control->type) { 3201 switch (control->type) {
3191 case WM8994: 3202 case WM8994:
3192 if (wm8994->micdet_irq) 3203 if (wm8994->micdet_irq)