diff options
author | Thomas Elste <thomas.elste@imms.de> | 2015-05-28 05:05:32 -0400 |
---|---|---|
committer | Sebastian Reichel <sre@kernel.org> | 2015-05-28 22:26:50 -0400 |
commit | cd054ee16580690830297dbda0abe9c184276d6a (patch) | |
tree | edb2a4cf8cf8481006dded3a1dfe743efd6ab373 | |
parent | 843735b788a4e49c453f4aefdae80e6dfbe9ee85 (diff) |
power: bq24190_charger: Change first_time flag reset condition
The initial register reset of BQ24190 generates a charger status change
whose propagation via power_supply_changed is prevented using a flag.
This flag gets never reset so all following events are ignored as well
leading for example to userspace not detecting charger connects/disconnects.
Therefor change the reset condition of first_time flag, so only the
propagation of the first charger status change is prevented.
Signed-off-by: Thomas Elste <thomas.elste@imms.de>
Signed-off-by: Sebastian Reichel <sre@kernel.org>
-rw-r--r-- | drivers/power/bq24190_charger.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/drivers/power/bq24190_charger.c b/drivers/power/bq24190_charger.c index 407c4af83891..052db78c3736 100644 --- a/drivers/power/bq24190_charger.c +++ b/drivers/power/bq24190_charger.c | |||
@@ -1258,10 +1258,13 @@ static irqreturn_t bq24190_irq_handler_thread(int irq, void *data) | |||
1258 | * register reset so we should ignore that one (the very first | 1258 | * register reset so we should ignore that one (the very first |
1259 | * interrupt received). | 1259 | * interrupt received). |
1260 | */ | 1260 | */ |
1261 | if (alert_userspace && !bdi->first_time) { | 1261 | if (alert_userspace) { |
1262 | power_supply_changed(bdi->charger); | 1262 | if (!bdi->first_time) { |
1263 | power_supply_changed(bdi->battery); | 1263 | power_supply_changed(bdi->charger); |
1264 | bdi->first_time = false; | 1264 | power_supply_changed(bdi->battery); |
1265 | } else { | ||
1266 | bdi->first_time = false; | ||
1267 | } | ||
1265 | } | 1268 | } |
1266 | 1269 | ||
1267 | out: | 1270 | out: |