diff options
author | Shawn Nematbakhsh <shawnn@chromium.org> | 2015-12-19 10:38:52 -0800 |
---|---|---|
committer | chrome-bot <chrome-bot@chromium.org> | 2016-01-06 18:48:11 -0800 |
commit | 0af6e77a3a90299418628a997c81436acbec242c (patch) | |
tree | 342623ba55704015efdd89515f893974471dcb5e /include | |
parent | 0c8a1b8d39734eaae692eacbe04894207bb2c6da (diff) | |
download | chrome-ec-0af6e77a3a90299418628a997c81436acbec242c.tar.gz |
charger: Change unlocked battery level ignore conditions
x86 systems will auto-power-on when power is applied to the EC. When
the battery level is critically low, power-on is prevented, except when
the system is unlocked. So, when unlocked, some systems will
auto-power-on regardless of battery level, overcurrent the charger /
battery, and then repeat forever.
Prevent this reboot loop by ignoring auto-power-up when the battery is
critically low, regardless of system unlocked status.
BUG=chrome-os-partner:48339
TEST=Verify power-up is prevented on no-battery chell w/ donette. Then,
run 'powerbtn' on EC console and verify system powers on (and
overcurrents).
BRANCH=None
Change-Id: Ia631b5a8c45b42ec805e4a0c3f827929a0efd236
Signed-off-by: Shawn Nematbakhsh <shawnn@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/319187
Commit-Ready: Shawn N <shawnn@chromium.org>
Tested-by: Shawn N <shawnn@chromium.org>
Reviewed-by: Duncan Laurie <dlaurie@chromium.org>
Diffstat (limited to 'include')
-rw-r--r-- | include/charge_state.h | 5 | ||||
-rw-r--r-- | include/charger.h | 2 |
2 files changed, 4 insertions, 3 deletions
diff --git a/include/charge_state.h b/include/charge_state.h index 97c6ca404e..3a86bf4baf 100644 --- a/include/charge_state.h +++ b/include/charge_state.h @@ -96,8 +96,11 @@ int charge_want_shutdown(void); /** * Return non-zero if the battery level is too low to allow power on, even if * a charger is attached. + * + * @param power_button_pressed True if the power-up attempt is caused by a + * power button press. */ -int charge_prevent_power_on(void); +int charge_prevent_power_on(int power_button_pressed); /** * Get the last polled battery/charger temperature. diff --git a/include/charger.h b/include/charger.h index 70d0ff7543..3141c89bab 100644 --- a/include/charger.h +++ b/include/charger.h @@ -49,8 +49,6 @@ void charger_get_params(struct charger_params *chg); #define CHG_FLAG_BAD_INPUT_CURRENT 0x00000004 #define CHG_FLAG_BAD_STATUS 0x00000008 #define CHG_FLAG_BAD_OPTION 0x00000010 -/* Bit to indicate that the charger data has been initialized */ -#define CHG_FLAG_INITIALIZED 0x00000020 /* All of the above CHG_FLAG_BAD_* bits */ #define CHG_FLAG_BAD_ANY 0x0000001f |