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: Puthikorn Voravootivat <puthik@chromium.org> Reviewed-by: David Riley <davidriley@chromium.org> Reviewed-by: Benson Leung <bleung@chromium.org> Signed-off-by: Sebastian Reichel <sre@kernel.org>
This commit is contained in:
parent
9dbf5a2864
commit
90f04a28fb
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue