crossystem: read recovery switch status from chromeos_arm device

The kernel chromeos_arm platform device provides the recovery status
with the consideration of active polarity.
Thus make crossystem to read from chromeos_arm device first. If this
is not available, read directly from gpio pin status.

BUG=chrome-os-partner:36425
BRANCH=none
TEST=ran on kitty,
'crossystem recoverysw_cur' return 0 with recovery switch off
'crossystem recoverysw_cur' return 1 with recovery switch on

Change-Id: Ie20630d7d07aeadf24044cd3ffc495df7cdd8a4a
Signed-off-by: Ken Chang <kenc@nvidia.com>
Reviewed-on: https://chromium-review.googlesource.com/246883
Tested-by: Titan Lee <titanlee@nvidia.com>
Reviewed-by: Hung-Te Lin <hungte@chromium.org>
Reviewed-by: Randall Spangler <rspangler@chromium.org>
Commit-Queue: Titan Lee <titanlee@nvidia.com>
This commit is contained in:
Ken Chang
2015-02-06 14:06:16 +08:00
committed by ChromeOS Commit Bot
parent 864fae2d78
commit c93ddb60aa

View File

@@ -524,6 +524,11 @@ int VbGetArchPropertyInt(const char* name) {
return VbGetVarGpio("developer-switch");
} else if (!strcasecmp(name, "recoverysw_cur")) {
int value;
value = VbGetPlatformGpioStatus("recovery");
if (value != -1)
return value;
return VbGetVarGpio("recovery-switch");
} else if (!strcasecmp(name, "wpsw_cur")) {
int value;