diff options
author | Daisuke Nojiri <dnojiri@chromium.org> | 2018-02-20 16:58:32 -0800 |
---|---|---|
committer | chrome-bot <chrome-bot@chromium.org> | 2018-02-23 03:37:09 -0800 |
commit | 55249ef6536303fc1cbb14ca9c3f1e8a19351e14 (patch) | |
tree | f17ae6daa3650fff67f4f45d8859a3875f0815cb /util | |
parent | 546c606b5f0d4a3b8af54a17f5c729e670061fdc (diff) | |
download | chrome-ec-55249ef6536303fc1cbb14ca9c3f1e8a19351e14.tar.gz |
ectool: Print tool version
ectool can be older or newer than the EC's firmware. The version of
the tool needs to be found to debug compatibility issue.
This patch makes ectool print its own version in addition to EC's
version.
BUG=none
BRANCH=none
TEST=Run 'ectool version':
RO version: fizz_v1.1.7833+5a0bbd8fe
RW version: fizz_v1.1.7833+5a0bbd8fe
Firmware copy: RW
Build info: fizz_v1.1.7833+5a0bbd8fe 2018-02-20 09:56:26 foo
Tool version: fizz_v1.1.7831+d173cf4d6 2018-02-20 16:57:43 bar
Change-Id: Iac641c76e450368175213ab6d277e56d43742429
Signed-off-by: Daisuke Nojiri <dnojiri@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/927305
Reviewed-by: Randall Spangler <rspangler@chromium.org>
Diffstat (limited to 'util')
-rw-r--r-- | util/build.mk | 2 | ||||
-rw-r--r-- | util/ectool.c | 10 |
2 files changed, 9 insertions, 3 deletions
diff --git a/util/build.mk b/util/build.mk index 1879a0a2a5..10a97b17f5 100644 --- a/util/build.mk +++ b/util/build.mk @@ -27,6 +27,8 @@ ec_sb_firmware_update-objs=ec_sb_firmware_update.o $(comm-objs) misc_util.o ec_sb_firmware_update-objs+=powerd_lock.o lbplay-objs=lbplay.o $(comm-objs) +util/ectool.c: $(out)/ec_version.h + ec_parse_panicinfo-objs=ec_parse_panicinfo.o ec_panicinfo.o # USB type-C Vendor Information File generation diff --git a/util/ectool.c b/util/ectool.c index cdd5e2c2d3..ea1a580067 100644 --- a/util/ectool.c +++ b/util/ectool.c @@ -21,6 +21,7 @@ #include "cros_ec_dev.h" #include "ec_panicinfo.h" #include "ec_flash.h" +#include "ec_version.h" #include "ectool.h" #include "lightbar.h" #include "lock/gec_lock.h" @@ -608,15 +609,16 @@ int cmd_version(int argc, char *argv[]) rv = ec_command(EC_CMD_GET_VERSION, 0, NULL, 0, &r, sizeof(r)); if (rv < 0) { fprintf(stderr, "ERROR: EC_CMD_GET_VERSION failed: %d\n", rv); - return rv; + goto exit; } rv = ec_command(EC_CMD_GET_BUILD_INFO, 0, NULL, 0, ec_inbuf, ec_max_insize); if (rv < 0) { fprintf(stderr, "ERROR: EC_CMD_GET_BUILD_INFO failed: %d\n", rv); - return rv; + goto exit; } + rv = 0; /* Ensure versions are null-terminated before we print them */ r.version_string_ro[sizeof(r.version_string_ro) - 1] = '\0'; @@ -630,8 +632,10 @@ int cmd_version(int argc, char *argv[]) (r.current_image < ARRAY_SIZE(image_names) ? image_names[r.current_image] : "?")); printf("Build info: %s\n", build_string); +exit: + printf("Tool version: %s %s %s\n", CROS_EC_VERSION, DATE, BUILDER); - return 0; + return rv; } |