summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoryoojin <yoojin7.lee@samsung.com>2014-07-16 17:56:39 +0900
committerchrome-internal-fetch <chrome-internal-fetch@google.com>2014-07-23 23:52:48 +0000
commite1e9db29b7f2a72df95814a71ce5a5fcaa589380 (patch)
treed4f97cd95fa03887c338feb2607a3b0c1706018a
parent7dd03733643aea952c92edb0103551639c8f0a1f (diff)
downloadchrome-ec-e1e9db29b7f2a72df95814a71ce5a5fcaa589380.tar.gz
Winky : Notify host about removed battery
When battery was removed, battery tray icon did not change as removed battery. It just kept charging-icon. So, when battery is removed, battery present & charge & discharge flag should be clear and notified host. BUG=chrome-os-partner:30608 TEST=emerge-winky chromeos-ec Check battery tray icon when battery was removed. Change-Id: I0114839e8814194b82e11feedacf1008c22bc6f1 Reviewed-on: https://chromium-review.googlesource.com/208301 Reviewed-by: Aaron Durbin <adurbin@chromium.org> Reviewed-by: Mohammed Habibulla <moch@chromium.org> Reviewed-by: YongBeum Ha <ybha@samsung.com> Commit-Queue: YongBeum Ha <ybha@samsung.com> Tested-by: YongBeum Ha <ybha@samsung.com>
-rwxr-xr-x[-rw-r--r--]common/charge_state.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/common/charge_state.c b/common/charge_state.c
index 5fb089ddc1..3bfce6a2e3 100644..100755
--- a/common/charge_state.c
+++ b/common/charge_state.c
@@ -252,6 +252,14 @@ static int state_common(struct charge_state_context *ctx)
defined(CONFIG_BATTERY_PRESENT_GPIO)
if (!battery_is_present()) {
curr->error |= F_BATTERY_NOT_CONNECTED;
+ /* This is the only place accumulating previous state
+ to only send one event */
+ if(*batt_flags & EC_BATT_FLAG_BATT_PRESENT) {
+ *batt_flags &= ~ (EC_BATT_FLAG_BATT_PRESENT |
+ EC_BATT_FLAG_CHARGING |
+ EC_BATT_FLAG_DISCHARGING);
+ host_set_single_event(EC_HOST_EVENT_BATTERY);
+ }
return curr->error;
}
#endif