extcon: arizona: Declare 3-pole jack if we detect open circuit on mic
authorCharles Keepax <ckeepax@opensource.wolfsonmicro.com>
Thu, 25 Jun 2015 15:47:02 +0000 (16:47 +0100)
committerChanwoo Choi <cw00.choi@samsung.com>
Mon, 10 Aug 2015 02:48:56 +0000 (11:48 +0900)
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>
drivers/extcon/extcon-arizona.c

index 2336de66f442b6faa0218e10ae478128b4ff14d1..eaf0644b55065a1dfa5dd6a7cbf3ca26ea8d6fed 100644 (file)
@@ -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;
        }