瀏覽代碼

ASoC: wm8994: Fix reporting of accessory removal on WM8958

During recent refactoring the code to report removal when MICDET reports
an absent microphone was removed, causing problems for systems which rely
solely on the MICDET for this functionality. Restore it.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Mark Brown 12 年之前
父節點
當前提交
9767a58b8b
共有 1 個文件被更改,包括 5 次插入0 次删除
  1. 5 0
      sound/soc/codecs/wm8994.c

+ 5 - 0
sound/soc/codecs/wm8994.c

@@ -3833,6 +3833,11 @@ static irqreturn_t wm8958_mic_irq(int irq, void *data)
 			dev_dbg(codec->dev, "Ignoring removed jack\n");
 			return IRQ_HANDLED;
 		}
+	} else if (!(reg & WM8958_MICD_STS)) {
+		snd_soc_jack_report(wm8994->micdet[0].jack, 0,
+				    SND_JACK_MECHANICAL | SND_JACK_HEADSET |
+				    wm8994->btn_mask);
+		goto out;
 	}
 
 	if (wm8994->mic_detecting)