|
@@ -603,9 +603,15 @@ static irqreturn_t arizona_hpdet_irq(int irq, void *data)
|
|
|
dev_err(arizona->dev, "Failed to report HP/line: %d\n",
|
|
|
ret);
|
|
|
|
|
|
+done:
|
|
|
+ /* Reset back to starting range */
|
|
|
+ regmap_update_bits(arizona->regmap,
|
|
|
+ ARIZONA_HEADPHONE_DETECT_1,
|
|
|
+ ARIZONA_HP_IMPEDANCE_RANGE_MASK | ARIZONA_HP_POLL,
|
|
|
+ 0);
|
|
|
+
|
|
|
arizona_extcon_do_magic(info, 0);
|
|
|
|
|
|
-done:
|
|
|
if (id_gpio)
|
|
|
gpio_set_value_cansleep(id_gpio, 0);
|
|
|
|