summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDiana Z <dzigterman@chromium.org>2020-09-25 14:56:35 -0600
committerCommit Bot <commit-bot@chromium.org>2020-10-05 18:11:46 +0000
commitf5b3c81b0a84d9e6d7cf26eb4c70da19ce9639bf (patch)
tree169f08960dbe4fca0fbe11d04ca6b3636f62d1fa
parent1efa0109d3a12ac00ef958744ba17bfebdceee9a (diff)
downloadchrome-ec-f5b3c81b0a84d9e6d7cf26eb4c70da19ce9639bf.tar.gz
Ectool: Support printing typec status on older boards
When boards don't have the new TYPEC_STATUS host command running, fallback to the older USB_PD_CONTROL command to display information. BRANCH=None BUG=None TEST=on waddledoo with no TYPEC_STATUS command present, ensure that "ectool typecstatus <port>" prints port information Signed-off-by: Diana Z <dzigterman@chromium.org> Change-Id: I78fbc0414c0c6cb73b91285b6900a34287cdf5dd Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2432458 Reviewed-by: Abe Levkoy <alevkoy@chromium.org>
-rw-r--r--util/ectool.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/util/ectool.c b/util/ectool.c
index 04e630051c..6d2a74d94e 100644
--- a/util/ectool.c
+++ b/util/ectool.c
@@ -9583,7 +9583,7 @@ int cmd_typec_status(int argc, char *argv[])
int rv;
char *desc;
- if (argc < 2) {
+ if (argc != 2) {
fprintf(stderr,
"Usage: %s <port>\n"
" <port> is the type-c port to query\n", argv[0]);
@@ -9598,7 +9598,10 @@ int cmd_typec_status(int argc, char *argv[])
rv = ec_command(EC_CMD_TYPEC_STATUS, 0, &p, sizeof(p),
ec_inbuf, ec_max_insize);
- if (rv < 0)
+ if (rv == -EC_RES_INVALID_COMMAND - EECRESULT)
+ /* Fall back to PD_CONTROL to support older ECs */
+ return cmd_usb_pd(argc, argv);
+ else if (rv < 0)
return -1;
printf("Port C%d: %s, %s State:%s\n"