From bde4e4fe7ea66b33a8fc73c2874c36f1391c6a7d Mon Sep 17 00:00:00 2001 From: Gary Zhang Date: Tue, 22 May 2012 11:03:41 +0800 Subject: [PATCH] ENGR00209739-5 WM8962: check DMIC status if there are no amic_detect pin, by checking DMIC pin status to get to know which mic is used Signed-off-by: Gary Zhang --- sound/soc/imx/imx-wm8962.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/sound/soc/imx/imx-wm8962.c b/sound/soc/imx/imx-wm8962.c index 354aae434055..aa3122f6d765 100644 --- a/sound/soc/imx/imx-wm8962.c +++ b/sound/soc/imx/imx-wm8962.c @@ -262,7 +262,7 @@ static void amic_detect_handler(struct work_struct *work) if (priv->amic_status == 0) snprintf(buf, 32, "STATE=%d", 2); - else + else snprintf(buf, 32, "STATE=%d", 0); envp[0] = "NAME=amic"; @@ -369,7 +369,8 @@ static int imx_wm8962_init(struct snd_soc_pcm_runtime *rtd) snd_soc_dapm_nc_pin(&codec->dapm, "DMIC"); else snd_soc_dapm_enable_pin(&codec->dapm, "DMIC"); - } + } else if (!snd_soc_dapm_get_pin_status(&codec->dapm, "DMICDAT")) + snd_soc_dapm_nc_pin(&codec->dapm, "DMIC"); return 0; } -- 2.39.5