Commit b30ead5f authored by Mark Brown's avatar Mark Brown

ASoC: Hook up DC servo completion IRQ for WM8994 and WM8958

Signed-off-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
parent d96ca3cd
...@@ -2932,6 +2932,12 @@ static int wm8994_codec_probe(struct snd_soc_codec *codec) ...@@ -2932,6 +2932,12 @@ static int wm8994_codec_probe(struct snd_soc_codec *codec)
break; break;
} }
ret = wm8994_request_irq(codec->control_data, WM8994_IRQ_DCS_DONE,
wm_hubs_dcs_done, "DC servo done",
&wm8994->hubs);
if (ret == 0)
wm8994->hubs.dcs_done_irq = true;
switch (control->type) { switch (control->type) {
case WM8994: case WM8994:
if (wm8994->micdet_irq) { if (wm8994->micdet_irq) {
...@@ -3173,6 +3179,8 @@ static int wm8994_codec_probe(struct snd_soc_codec *codec) ...@@ -3173,6 +3179,8 @@ static int wm8994_codec_probe(struct snd_soc_codec *codec)
wm8994_free_irq(codec->control_data, WM8994_IRQ_MIC1_SHRT, wm8994); wm8994_free_irq(codec->control_data, WM8994_IRQ_MIC1_SHRT, wm8994);
if (wm8994->micdet_irq) if (wm8994->micdet_irq)
free_irq(wm8994->micdet_irq, wm8994); free_irq(wm8994->micdet_irq, wm8994);
wm8994_free_irq(codec->control_data, WM8994_IRQ_DCS_DONE,
&wm8994->hubs);
err: err:
kfree(wm8994); kfree(wm8994);
return ret; return ret;
...@@ -3187,6 +3195,9 @@ static int wm8994_codec_remove(struct snd_soc_codec *codec) ...@@ -3187,6 +3195,9 @@ static int wm8994_codec_remove(struct snd_soc_codec *codec)
pm_runtime_disable(codec->dev); pm_runtime_disable(codec->dev);
wm8994_free_irq(codec->control_data, WM8994_IRQ_DCS_DONE,
&wm8994->hubs);
switch (control->type) { switch (control->type) {
case WM8994: case WM8994:
if (wm8994->micdet_irq) if (wm8994->micdet_irq)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment