Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b30ead5f authored by Mark Brown's avatar Mark Brown
Browse files

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

parent d96ca3cd
Loading
Loading
Loading
Loading
+11 −0
Original line number Diff line number Diff line
@@ -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)