瀏覽代碼

extcon: arizona: Declare 3-pole jack if we detect open circuit on mic

Detecting an open-circuit on the microphone pin, usually means the
headset has a microphone but the cable is faulty. Currently the code
will simply stop detecting and declare nothing in this situation. It is
better to declare this as headphones such that the user can still use
their headset as plain headphones even if the microphone is faulty.

Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
Charles Keepax 10 年之前
父節點
當前提交
57f70ef9bd
共有 1 個文件被更改,包括 3 次插入0 次删除
  1. 3 0
      drivers/extcon/extcon-arizona.c

+ 3 - 0
drivers/extcon/extcon-arizona.c

@@ -829,7 +829,10 @@ static void arizona_micd_detect(struct work_struct *work)
 	/* Due to jack detect this should never happen */
 	if (!(val & ARIZONA_MICD_STS)) {
 		dev_warn(arizona->dev, "Detected open circuit\n");
+		info->mic = false;
+		arizona_stop_mic(info);
 		info->detecting = false;
+		arizona_identify_headphone(info);
 		goto handled;
 	}