summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2012-09-05 15:42:52 -0700
committerKatie Roberts-Hoffman <katierh@chromium.org>2012-09-10 20:41:52 -0700
commit8ce4332e94464c3dc78f4344a5fffbc4fabd1437 (patch)
tree56afc49f7457d1b69c9023cd505b248051d1231a
parentdfd30fee73e4c5fa9ef6f9c2859b5e58f26e101d (diff)
downloadchrome-ec-8ce4332e94464c3dc78f4344a5fffbc4fabd1437.tar.gz
gaia_power: Report power on reason
Report the reason for a power on, to assist with debugging. BUG=chrome-os-partner:11307 BRANCH=snow TEST=manual Build and boot on snow See that power on reason is now reported > 0.003508 power on 2 [0.028674 AP running ...] ... 12.163780 ending loop 2 Shutdown complete. [batt] state discharging -> idle 17.801167 power on 4 Overriding CHARGER_INT with CHARGER_INT on EXTI4 [17.825873 AP running ...] 17.826071 XPSHOLD seen [batt] state idle -> discharg Change-Id: I2044419b330a74d19d8c4e63fa8853aa477b4df1 Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-on: https://gerrit.chromium.org/gerrit/32301 Reviewed-by: Vincent Palatin <vpalatin@chromium.org> (cherry picked from commit e6d9ea96f3914dd3de08ba3bcea24acd4097e7cd) Reviewed-on: https://gerrit.chromium.org/gerrit/32894 Reviewed-by: David Hendricks <dhendrix@chromium.org> Reviewed-by: Katie Roberts-Hoffman <katierh@chromium.org> Tested-by: Katie Roberts-Hoffman <katierh@chromium.org>
-rw-r--r--common/gaia_power.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/common/gaia_power.c b/common/gaia_power.c
index cc8914de7f..1b3cc61a2a 100644
--- a/common/gaia_power.c
+++ b/common/gaia_power.c
@@ -312,7 +312,7 @@ static int check_for_power_on_event(void)
/* power on requested at EC startup for recovery */
if (auto_power_on) {
auto_power_on = 0;
- return 1;
+ return 2;
}
/* to avoid false positives, check lid only if a change was detected */
@@ -320,7 +320,7 @@ static int check_for_power_on_event(void)
udelay(LID_SWITCH_DEBOUNCE);
if (gpio_get_level(GPIO_LID_OPEN) == 1) {
lid_changed = 0;
- return 1;
+ return 3;
}
}
@@ -328,12 +328,12 @@ static int check_for_power_on_event(void)
if (gpio_get_level(GPIO_KB_PWR_ON_L) == 0) {
udelay(KB_PWR_ON_DEBOUNCE);
if (gpio_get_level(GPIO_KB_PWR_ON_L) == 0)
- return 1;
+ return 4;
}
if (power_request == POWER_REQ_ON) {
power_request = POWER_REQ_NONE;
- return 4;
+ return 5;
}
return 0;
@@ -481,8 +481,9 @@ void gaia_power_task(void)
while (1) {
/* Wait until we need to power on, then power on */
- while (!check_for_power_on_event())
+ while (value = check_for_power_on_event(), !value)
task_wait_event(-1);
+ CPRINTF("%T power on %d\n", value);
if (!power_on()) {
int continue_power = 0;