]> git.karo-electronics.de Git - linux-beck.git/commitdiff
extcon: arizona: Don't disable debounce for inverted jacks
authorCharles Keepax <ckeepax@opensource.wolfsonmicro.com>
Wed, 16 Sep 2015 09:42:21 +0000 (10:42 +0100)
committerChanwoo Choi <cw00.choi@samsung.com>
Tue, 22 Sep 2015 06:28:00 +0000 (15:28 +0900)
Whilst the jack is connected we disable the jack detection debounce to
ensure as quick as possible a detection of jack removal. However, it is
only safe to disable the jack debounce whilst the jack is connected if
using the micd clamp or the jack is not inverted. Otherwise spurious
interrupts might be generated when we re-enable the debounce.

Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
drivers/extcon/extcon-arizona.c

index 9255c1f1f2852c19b0f640057b3b5d400ecd306b..4479781ee941bd12e470313f3dcf1eaed517dfd7 100644 (file)
@@ -1118,9 +1118,11 @@ static irqreturn_t arizona_jackdet(int irq, void *data)
                                           msecs_to_jiffies(HPDET_DEBOUNCE));
                }
 
-               regmap_update_bits(arizona->regmap,
-                                  ARIZONA_JACK_DETECT_DEBOUNCE,
-                                  ARIZONA_MICD_CLAMP_DB | ARIZONA_JD1_DB, 0);
+               if (info->micd_clamp || !arizona->pdata.jd_invert)
+                       regmap_update_bits(arizona->regmap,
+                                          ARIZONA_JACK_DETECT_DEBOUNCE,
+                                          ARIZONA_MICD_CLAMP_DB |
+                                          ARIZONA_JD1_DB, 0);
        } else {
                dev_dbg(arizona->dev, "Detected jack removal\n");