From 3423014d00704543bb428e2ef29c8b6b66325d0f Mon Sep 17 00:00:00 2001 From: Wei-Ning Huang Date: Tue, 8 Aug 2017 17:26:04 +0800 Subject: ectool: do not try other communication methods for none cros_ec devices There are none cros_ec devices running EC codebase connected to chromebook, which can be accessed by ectool with `cros_ec --name=SOME_DEV ...`. In the case when SOME_DEV is not found, do not fallback to other communication methods such as LPC or I2C, since ectool will instead get the reply of real cros_ec device. BRANCH=none BUG=b:64468324 TEST=on poppy, `ectool --name=cros_tp version` should show: `Unable to establish host communication Couldn't find EC` Change-Id: I2ac232122e0f928703f7607da365d5c1dc6f7194 Signed-off-by: Wei-Ning Huang Reviewed-on: https://chromium-review.googlesource.com/604977 Commit-Ready: Wei-Ning Huang Tested-by: Wei-Ning Huang Reviewed-by: Nicolas Boichat (cherry picked from commit 25d281a42bd1e3cbf997e658ff9ae784bbecea20) Reviewed-on: https://chromium-review.googlesource.com/609620 Reviewed-by: Wei-Ning Huang Commit-Queue: Wei-Ning Huang --- util/comm-host.c | 7 +++++++ util/ectool.c | 3 ++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/util/comm-host.c b/util/comm-host.c index 31ad56343e..9fc65ab634 100644 --- a/util/comm-host.c +++ b/util/comm-host.c @@ -10,6 +10,7 @@ #include #include "comm-host.h" +#include "cros_ec_dev.h" #include "ec_commands.h" #include "misc_util.h" @@ -96,6 +97,11 @@ int comm_init(int interfaces, const char *device_name) !comm_init_dev(device_name)) goto init_ok; + /* Do not fallback to other communication methods if target is not a + * cros_ec device */ + if (strcmp(CROS_EC_DEV_NAME, device_name)) + goto init_failed; + /* Fallback to direct LPC on x86 */ if ((interfaces & COMM_LPC) && comm_init_lpc && !comm_init_lpc()) goto init_ok; @@ -104,6 +110,7 @@ int comm_init(int interfaces, const char *device_name) if ((interfaces & COMM_I2C) && comm_init_i2c && !comm_init_i2c()) goto init_ok; + init_failed: /* Give up */ fprintf(stderr, "Unable to establish host communication\n"); return 1; diff --git a/util/ectool.c b/util/ectool.c index e843fc7308..7b70ab84d6 100644 --- a/util/ectool.c +++ b/util/ectool.c @@ -18,6 +18,7 @@ #include "battery.h" #include "comm-host.h" #include "compile_time_macros.h" +#include "cros_ec_dev.h" #include "ec_panicinfo.h" #include "ec_flash.h" #include "ectool.h" @@ -7330,7 +7331,7 @@ int main(int argc, char *argv[]) const struct command *cmd; int dev = 0; int interfaces = COMM_ALL; - char device_name[40] = "cros_ec"; + char device_name[40] = CROS_EC_DEV_NAME; int rv = 1; int parse_error = 0; char *e; -- cgit v1.2.1