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

Commit 2974d6b1 authored by Mark Brown's avatar Mark Brown
Browse files

ASoC: wm8994: Don't suspend accessory detection



Leave it up to the machine driver to disable accessory detection if
desired, the common pattern is to have accessory detection be a wake
source.

Signed-off-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
parent 38cbf959
Loading
Loading
Loading
Loading
+0 −37
Original line number Diff line number Diff line
@@ -2970,23 +2970,8 @@ static struct snd_soc_dai_driver wm8994_dai[] = {
static int wm8994_codec_suspend(struct snd_soc_codec *codec)
{
	struct wm8994_priv *wm8994 = snd_soc_codec_get_drvdata(codec);
	struct wm8994 *control = wm8994->wm8994;
	int i, ret;

	switch (control->type) {
	case WM8994:
		snd_soc_update_bits(codec, WM8994_MICBIAS, WM8994_MICD_ENA, 0);
		break;
	case WM1811:
		snd_soc_update_bits(codec, WM8994_ANTIPOP_2,
				    WM1811_JACKDET_MODE_MASK, 0);
		/* Fall through */
	case WM8958:
		snd_soc_update_bits(codec, WM8958_MIC_DETECT_1,
				    WM8958_MICD_ENA, 0);
		break;
	}

	for (i = 0; i < ARRAY_SIZE(wm8994->fll); i++) {
		memcpy(&wm8994->fll_suspend[i], &wm8994->fll[i],
		       sizeof(struct wm8994_fll_config));
@@ -3036,28 +3021,6 @@ static int wm8994_codec_resume(struct snd_soc_codec *codec)
				 i + 1, ret);
	}

	switch (control->type) {
	case WM8994:
		if (wm8994->micdet[0].jack || wm8994->micdet[1].jack)
			snd_soc_update_bits(codec, WM8994_MICBIAS,
					    WM8994_MICD_ENA, WM8994_MICD_ENA);
		break;
	case WM1811:
		if (wm8994->jackdet && wm8994->jack_cb) {
			/* Restart from idle */
			snd_soc_update_bits(codec, WM8994_ANTIPOP_2,
					    WM1811_JACKDET_MODE_MASK,
					    WM1811_JACKDET_MODE_JACK);
			break;
		}
		break;
	case WM8958:
		if (wm8994->jack_cb)
			snd_soc_update_bits(codec, WM8958_MIC_DETECT_1,
					    WM8958_MICD_ENA, WM8958_MICD_ENA);
		break;
	}

	return 0;
}
#else