bq25890: Interrupt storms when overheated
When the phone gets hot with USB unplugged, bq25895 starts to signal NTC fault "TS Hot". It does it fast and often, making the red LED rapidly blink. The read NTC_FAULT value keeps oscillating between 2 (TS Hot) and 0 (Normal). It gets better after connecting a charger - irq storm calms down.
While looking at it, I've noticed that while overheated, bq25895 appears to send an interrupt each time ADC conversion is triggered, which is something the driver does rather often (as mentioned in #368 (closed)). There's also a kind of a feedback loop, since interrupt handler ends up calling power_supply_changed
if the state has changed, which triggers further ADC conversions.
The driver explicitly disables CONV_RATE when unplugged, relying on manually triggered conversions, but enabling it manually makes the storm mostly calm down (the interrupt gets asserted only once per second) as the controller ignores writes to CONV_START in this mode and does the conversion automatically at 1Hz.