Ensure we clamp as quickly as possible after removal by disabling the
debounce while there is an accessory present.

Signed-off-by: Mark Brown <broo...@opensource.wolfsonmicro.com>
---
 drivers/extcon/extcon-arizona.c |    9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/drivers/extcon/extcon-arizona.c b/drivers/extcon/extcon-arizona.c
index de141f7..ce95f86 100644
--- a/drivers/extcon/extcon-arizona.c
+++ b/drivers/extcon/extcon-arizona.c
@@ -773,6 +773,10 @@ static irqreturn_t arizona_jackdet(int irq, void *data)
                } else {
                        arizona_start_hpdet_acc_id(info);
                }
+
+               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");
 
@@ -792,6 +796,11 @@ static irqreturn_t arizona_jackdet(int irq, void *data)
                if (ret != 0)
                        dev_err(arizona->dev, "Removal report failed: %d\n",
                                ret);
+
+               regmap_update_bits(arizona->regmap,
+                                  ARIZONA_JACK_DETECT_DEBOUNCE,
+                                  ARIZONA_MICD_CLAMP_DB | ARIZONA_JD1_DB,
+                                  ARIZONA_MICD_CLAMP_DB | ARIZONA_JD1_DB);
        }
 
        mutex_unlock(&info->lock);
-- 
1.7.10.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to