From f968fc8a198573c7c9a8a0c195e93d8b33fb8603 Mon Sep 17 00:00:00 2001 From: Ken Chang Date: Fri, 6 Feb 2015 14:06:16 +0800 Subject: 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 Reviewed-on: https://chromium-review.googlesource.com/246883 Tested-by: Titan Lee Reviewed-by: Hung-Te Lin Reviewed-by: Randall Spangler Commit-Queue: Titan Lee (cherry picked from commit c93ddb60aae37fc06f614a1b79e6f3fee25b97c4) Reviewed-on: https://chromium-review.googlesource.com/248372 Reviewed-by: Andrew Bresticker --- host/arch/arm/lib/crossystem_arch.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/host/arch/arm/lib/crossystem_arch.c b/host/arch/arm/lib/crossystem_arch.c index 21e21696..b032ed30 100644 --- a/host/arch/arm/lib/crossystem_arch.c +++ b/host/arch/arm/lib/crossystem_arch.c @@ -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; -- cgit v1.2.1