mirror of
https://github.com/torvalds/linux.git
synced 2024-11-11 14:42:24 +00:00
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:
parent
d96ca3cd0b
commit
b30ead5f39
@ -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 @@ err_irq:
|
|||||||
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)
|
|||||||
|
|
||||||
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)
|
||||||
|
Loading…
Reference in New Issue
Block a user