summaryrefslogtreecommitdiffstats
path: root/drivers/misc/cros_ec_sandbox.c
diff options
context:
space:
mode:
authorHeinrich Schuchardt <xypron.glpk@gmx.de>2020-11-09 21:34:25 +0100
committerSimon Glass <sjg@chromium.org>2020-11-14 15:23:41 -0700
commita3e458524c15710e4ac9ce1556a5f0898084d09a (patch)
treec433f9abf09a77a11504670ccdb3dc6fbf3507bb /drivers/misc/cros_ec_sandbox.c
parent4cb862fe28332f187f636b37b48fb0fbaf3432ec (diff)
downloadu-boot-a3e458524c15710e4ac9ce1556a5f0898084d09a.tar.gz
u-boot-a3e458524c15710e4ac9ce1556a5f0898084d09a.tar.xz
u-boot-a3e458524c15710e4ac9ce1556a5f0898084d09a.zip
cros_ec: Handling EC_CMD_GET_NEXT_EVENT
With commit 690079767803 ("cros_ec: Support keyboard scanning with EC_CMD_GET_NEXT_EVENT") check_for_keys() tries to read keyboard strokes using EC_CMD_GET_NEXT_EVENT. But the sandbox driver does not understand this command. We need to reply with -EC_RES_INVALID_COMMAND to force check_for_keys() to fall back to use EC_CMD_MKBP_STATE. Currently the driver prints ** Unknown EC command 0x67 in this case. With the patch the message is suppressed. In a future patch we should upgrade the sandbox driver to provide EC_CMD_GET_NEXT_EVENT support. Fixes: 690079767803 ("cros_ec: Support keyboard scanning with EC_CMD_GET_NEXT_EVENT") Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Diffstat (limited to 'drivers/misc/cros_ec_sandbox.c')
-rw-r--r--drivers/misc/cros_ec_sandbox.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/misc/cros_ec_sandbox.c b/drivers/misc/cros_ec_sandbox.c
index a191f061b8..ff7f782742 100644
--- a/drivers/misc/cros_ec_sandbox.c
+++ b/drivers/misc/cros_ec_sandbox.c
@@ -460,6 +460,16 @@ static int process_cmd(struct ec_state *ec,
case EC_CMD_ENTERING_MODE:
len = 0;
break;
+ case EC_CMD_GET_NEXT_EVENT:
+ /*
+ * TODO:
+ * This driver emulates an old keyboard device supporting
+ * EC_CMD_MKBP_STATE. Current Chrome OS keyboards use
+ * EC_CMD_GET_NEXT_EVENT. Cf.
+ * "mkbp: Add support for buttons and switches"
+ * https://chromium.googlesource.com/chromiumos/platform/ec/+/87a071941b89e3f7fd3eb329b682e60b3fbd6c73
+ */
+ return -EC_RES_INVALID_COMMAND;
default:
printf(" ** Unknown EC command %#02x\n", req_hdr->command);
return -1;