Commit 90f04a28 authored by Puthikorn Voravootivat's avatar Puthikorn Voravootivat Committed by Sebastian Reichel

bq27x00_battery: Call power_supply_changed only when capacity changed

In current driver, power_supply_changed() is called whenever any of
the battery attribute changed. This causes kernel to increases the
'/sys/power/wakeup_count' and make suspend not working correctly.

This patch change this behavior to call power_supply_changed()
only when the battery capacity changed.
Signed-off-by: default avatarPuthikorn Voravootivat <puthik@chromium.org>
Reviewed-by: default avatarDavid Riley <davidriley@chromium.org>
Reviewed-by: default avatarBenson Leung <bleung@chromium.org>
Signed-off-by: default avatarSebastian Reichel <sre@kernel.org>
parent 9dbf5a28
...@@ -497,10 +497,11 @@ static void bq27x00_update(struct bq27x00_device_info *di) ...@@ -497,10 +497,11 @@ static void bq27x00_update(struct bq27x00_device_info *di)
di->charge_design_full = bq27x00_battery_read_ilmd(di); di->charge_design_full = bq27x00_battery_read_ilmd(di);
} }
if (memcmp(&di->cache, &cache, sizeof(cache)) != 0) { if (di->cache.capacity != cache.capacity)
di->cache = cache;
power_supply_changed(&di->bat); power_supply_changed(&di->bat);
}
if (memcmp(&di->cache, &cache, sizeof(cache)) != 0)
di->cache = cache;
di->last_update = jiffies; di->last_update = jiffies;
} }
......
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