ASoC: Hook up DC servo completion IRQ for WM8994 and WM8958
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
This commit is contained in:
Родитель
d96ca3cd0b
Коммит
b30ead5f39
|
@ -2932,6 +2932,12 @@ static int wm8994_codec_probe(struct snd_soc_codec *codec)
|
|||
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) {
|
||||
case WM8994:
|
||||
if (wm8994->micdet_irq) {
|
||||
|
@ -3173,6 +3179,8 @@ err_irq:
|
|||
wm8994_free_irq(codec->control_data, WM8994_IRQ_MIC1_SHRT, wm8994);
|
||||
if (wm8994->micdet_irq)
|
||||
free_irq(wm8994->micdet_irq, wm8994);
|
||||
wm8994_free_irq(codec->control_data, WM8994_IRQ_DCS_DONE,
|
||||
&wm8994->hubs);
|
||||
err:
|
||||
kfree(wm8994);
|
||||
return ret;
|
||||
|
@ -3187,6 +3195,9 @@ static int wm8994_codec_remove(struct snd_soc_codec *codec)
|
|||
|
||||
pm_runtime_disable(codec->dev);
|
||||
|
||||
wm8994_free_irq(codec->control_data, WM8994_IRQ_DCS_DONE,
|
||||
&wm8994->hubs);
|
||||
|
||||
switch (control->type) {
|
||||
case WM8994:
|
||||
if (wm8994->micdet_irq)
|
||||
|
|
Загрузка…
Ссылка в новой задаче