From patchwork Mon Nov 9 20:34:25 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Heinrich Schuchardt X-Patchwork-Id: 1397116 X-Patchwork-Delegate: sjg@chromium.org Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=gmx.de Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; secure) header.d=gmx.net header.i=@gmx.net header.a=rsa-sha256 header.s=badeba3b8450 header.b=C+3KLIuq; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4CVN5m5MKLz9sPB for ; Tue, 10 Nov 2020 07:34:52 +1100 (AEDT) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 00E628234E; Mon, 9 Nov 2020 21:34:46 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=gmx.de Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; secure) header.d=gmx.net header.i=@gmx.net header.b="C+3KLIuq"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id E1468821A4; Mon, 9 Nov 2020 21:34:45 +0100 (CET) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,FREEMAIL_FROM,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.2 Received: from mout.gmx.net (mout.gmx.net [212.227.17.21]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id EA9A1821A4 for ; Mon, 9 Nov 2020 21:34:32 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=gmx.de Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=xypron.glpk@gmx.de DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1604954070; bh=tzR/wi2XaX8PygSOGyHlDw9tyxo6v+U34EGWHsT3kJo=; h=X-UI-Sender-Class:From:To:Cc:Subject:Date; b=C+3KLIuqv3U6x1YdKzg2/8GwSgeEwhEsPR1M+3HsOcIXnUNbIT+9W3xHnYq+/pG2R NKIA2H+IIYdyDzim8ajc3Xpv+7wQIdk2dECqb7NhbG0J3o6pQy9GTVxY8RTkD4Y2f4 GCfn/f+uRJvAXae3PYwYcvNmX0lhMRvtdKYcYlrA= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from LT02.fritz.box ([178.202.41.135]) by mail.gmx.com (mrgmx104 [212.227.17.174]) with ESMTPSA (Nemesis) id 1MxlzC-1kOQJ61r8Y-00zHSy; Mon, 09 Nov 2020 21:34:30 +0100 From: Heinrich Schuchardt To: Tom Rini Cc: Alper Nebi Yasak , Simon Glass , Walter Lozano , u-boot@lists.denx.de, Heinrich Schuchardt Subject: [PATCH 1/1] cros_ec: Handling EC_CMD_GET_NEXT_EVENT Date: Mon, 9 Nov 2020 21:34:25 +0100 Message-Id: <20201109203425.25546-1-xypron.glpk@gmx.de> X-Mailer: git-send-email 2.28.0 MIME-Version: 1.0 X-Provags-ID: V03:K1:4HdHzFr0Fa7NXhgVBQ5GuVLxbSfVenqqROcUGzkqEbVR3Vn3y3d Vpoc2T39UPsOPdDepZTKSOr4UyXe/Q7U+P2qNn2foyf0zz3QjlE10Y0dzjz7PG3uTT4T8ub 9OvQJwjU4ZUImiVQakMeYfheropgGMLTHQy9fYp0FmOzC+F+f+VI3G95hQAqXeZpy2Pcd5M x+6eXu4y5Mg2LvHpKmPvw== X-UI-Out-Filterresults: notjunk:1;V03:K0:BkeSeyybsto=:ZAqPHQo9AmfEQsoq2DvXrF KQ1gj5657B5ieu9yynFKttOJlEHbvcGtzkr5h7cR+74+3l1Dnsy2lv7HJDjmh/2OFDeyQ6VKG bBoFoGFD2N300F59CLW5i4v6jEjBvYZDvnOLOrKujzvx7ZWVJpZjx2wqDSgHplY8Y5geS/EDC 4K4WHXyk33J0/tEOtKmvlfHMNiwoCFuF/Zqu2FP+jRL2kfrlh90PJePSOd4zqozlpQiCQflWv rrmZ47uV6ypgafA6/UWL3Wt28kvKXSm+UcCAHwzTO9vjGP98J/SculOfHiw/BxHhd+RQ256XY Q+7YbeT7LI3zCGrJ4ffjUcDjXEtSoM0/Bc3itDjrCPTjcT5rqJrYMradqlFc0OcJxorBIiT0r WKVZe8jozz1UMPvzCN35RuyXLP/Vbfd95gWFkqjzOtXAUhKTP6k5B8z24CMr8tGehBM6/2DMe Wi35NOSqx0suXe/DtJp6/KXNtkTsSwm13hMEM0U4ShTm5RU4Lnl83G2vSIdODC6Gr0BogZG+X K8UPlODGsRajMQnMArbLroFPGusroOfqUY5sObbuiG4CKE/KZLXtI5RVF1xR/cvFiWktRTBR/ MQtpQmHOTlVrv9ORgzOWRzRDxmUs0Ir7JhiMm3lr6qi6Q/BnzRQbD3tJI/eq42+gN6pUrwZN2 Q3EYQ+kYOJmipPZ8AoO+nIiJRpPflwr68H+kBHElHosMVvLb/QXMQpzmQFjr3YeznAnPxFZap JEc/aMztITRywkpcRKib361oaH6mwVBJKnW0TSUXfIbOVk1sa1Pb6frhNDfbai7VvYkgChW4a 7Y5wy5VgEZZQF5Pl71vH3uJF+TTzxFyXpupsaWahKXYB0bGU32bN8M4GSTLPmJXBuoIa5A20M EA8F1YgbhGI/E65IX1Sw== X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.34 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.102.3 at phobos.denx.de X-Virus-Status: Clean 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 --- process_cmd() should always return an appropriate negative enum ec_status in case of an error and not simply -1. But fixing the return values is beyond the scope of this patch. --- drivers/misc/cros_ec_sandbox.c | 10 ++++++++++ 1 file changed, 10 insertions(+) -- 2.28.0 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;