Verified Commit 0b8b7587 authored by Sebastian Krzyszkowiak's avatar Sebastian Krzyszkowiak
Browse files

power: supply: max17042_battery: Clear status bits in interrupt handler

The gauge requires us to clear the status bits manually for some alerts
to be properly dismissed. Previously the IRQ was configured to react only
on falling edge, which wasn't technically correct (the ALRT line is active
low), but it had a happy side-effect of preventing interrupt storms
on uncleared alerts from happening.

Fixes: 7fbf6b73

 ("power: supply: max17042: Do not enforce (incorrect) interrupt trigger type")
Signed-off-by: Sebastian Krzyszkowiak's avatarSebastian Krzyszkowiak <sebastian.krzyszkowiak@puri.sm>
parent adfe3810
......@@ -902,6 +902,9 @@ static irqreturn_t max17042_thread_handler(int id, void *dev)
max17042_set_soc_threshold(chip, 1);
}
regmap_clear_bits(chip->regmap, MAX17042_STATUS,
0xFFFF & ~(STATUS_POR_BIT | STATUS_BST_BIT));
power_supply_changed(chip->battery);
return IRQ_HANDLED;
}
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment