|
@@ -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
|