summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaisuke Nojiri <dnojiri@chromium.org>2018-02-20 16:58:32 -0800
committerchrome-bot <chrome-bot@chromium.org>2018-02-23 03:37:09 -0800
commit55249ef6536303fc1cbb14ca9c3f1e8a19351e14 (patch)
treef17ae6daa3650fff67f4f45d8859a3875f0815cb
parent546c606b5f0d4a3b8af54a17f5c729e670061fdc (diff)
downloadchrome-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>
-rw-r--r--util/build.mk2
-rw-r--r--util/ectool.c10
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;
}