Received: by 2002:a05:6a10:f347:0:0:0:0 with SMTP id d7csp4581289pxu; Wed, 9 Dec 2020 23:27:38 -0800 (PST) X-Google-Smtp-Source: ABdhPJzvTZxNgDdftfCVvSrFI3Tstqqex163ybV0BGEZQmTkSR/Q4exuxp60xz2ccLMPqtvlSJi8 X-Received: by 2002:a50:ccc8:: with SMTP id b8mr5424193edj.152.1607585258193; Wed, 09 Dec 2020 23:27:38 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1607585258; cv=none; d=google.com; s=arc-20160816; b=Qj8V8R1kKw+7BkV3trw+1pv5Lk8kjwtJrw7yGiwglmVuqvMWhvx9W9V6z6lZEEAa0n v3NuIpxtL75vWxVZ13vOT03pueGcQjla/21rf3LZwuQuN2Zka58L8lTrGgRXKQwtCic7 EHcOgfiqPHNtplZU77s1oAln4Xz74w+JC8BOgfPrQR2cfpmoljscEvF8qJNAnD2EpKrs +J/P8Mw0vfsCW5wC25eXTH/Qs7a0WFYHWS6Dp/TRhjDPlHTR4SqWA9r/xH4UNnENxOVD 3HBh29953O9gghEDm9MX7g/yu70YrJoGoUYlYug5bS5D3SfpBY9iwqQiof1KuOJG0Isa CbLA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-disposition:mime-version :references:message-id:subject:cc:to:from:date:dkim-signature; bh=Gny1Tk/NkzCkucCgjQAN08t8L5tKNABHVyy0fWYIoTE=; b=WtZKRHAIr/XYtNT+VpPXOowNYfcK5cLRjsGhyVdvOYmW/ym7igl1XekC1SK1CPsVKH IqyvmbVg+UwpXXWnXIisgF4GANR+sZGk1OIr8qFbsxkooix5+DjvKQ+BdH4uGpymmr0g xU6thohiVdLT8zr2kIruZT+Qpu3L3XGGGQmUEC4XYhnLwNR3tkFsDLX1KuFhwaNZupvH xDWO9illBvJk4oAFiilM3dB6J3+PhA5nLvuTVhXoknGJeVH2Q258HdTSrjJrZt/9l04/ zhI3lfvQO6mgZnAmJ1q+UQRnkOY0j4fTF6IhCWELTSkHpaLa/SudYeA/ikSfhbj+j+uP vbfg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=Hc3wBayC; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id x22si2000495ejj.576.2020.12.09.23.27.15; Wed, 09 Dec 2020 23:27:38 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=Hc3wBayC; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1733149AbgLJGPX (ORCPT + 99 others); Thu, 10 Dec 2020 01:15:23 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41032 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728264AbgLJGPN (ORCPT ); Thu, 10 Dec 2020 01:15:13 -0500 Received: from mail-pf1-x441.google.com (mail-pf1-x441.google.com [IPv6:2607:f8b0:4864:20::441]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B28C0C0613CF; Wed, 9 Dec 2020 22:14:33 -0800 (PST) Received: by mail-pf1-x441.google.com with SMTP id c12so3043434pfo.10; Wed, 09 Dec 2020 22:14:33 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to; bh=Gny1Tk/NkzCkucCgjQAN08t8L5tKNABHVyy0fWYIoTE=; b=Hc3wBayCQAuK3LKCJ98WVvLPf0kuUuIO2auwdmWliQLVAugrsQEPrD/JXcnzyQejC1 VGWR+8FGvgkI3W9gSoS660Osoinxc0YED93ImslSnY1j/KuyRqLuGfs8GV2hQ/J3aKN3 3heDHaSCRo8Yzw3P0SwGhuTUF5DzIOOL1xhw/fHd04HgDC6tXr6RUmAwSnBpvqZYwgBS kyon6+uIcUXxk3IbEeM2yZSo0OXlrodwHqR4yqkaF3E8fu3rHeMhFUg0qav22AupaugU tkFW32v+apowQkLZzAWMbtyZ0sNY7oKduEyRdVTyMzFiG11b4rKS6pcxy4uGF0htVjl/ bIVw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to; bh=Gny1Tk/NkzCkucCgjQAN08t8L5tKNABHVyy0fWYIoTE=; b=Sw26AjBwE/DsuQHPlhF6n/IXrKJ+W75ENJ8yKKP4vXfHQwyeYQeeE9LM6qertvAZOl 6pv8hl6xdLlr+e0lOqsvK3pKatkJMQulNpOO5M/aqpE1RodpgNDdFWJwLost6fGRSZBB x8zmhEZ4PUKL31vjM8k0Pu0mrm1kMWJ0EfYJoD3kEbaN6VcNr0KEw0FuTHaVX7GE5hFc dZXnopvhHA2/H4sEt415GhHGuQ+uJjCKVeO/84uxumBJOypRV0nM0HGvMB0nmjIK4gQV rso8DP50f4tItydebvN5Zb87e8AP90eddj7YjaP9fwb5xLJKYMzub8Dkg3eGC6GLCQpn 1yRQ== X-Gm-Message-State: AOAM530BNtkasqQitfvhonKklZxcoGUbH+e6Kxj412+tLr0zuQeMC4qR oKw+hsGI4JnTASUSsJJNS9I= X-Received: by 2002:a17:90a:bf86:: with SMTP id d6mr5902040pjs.212.1607580873231; Wed, 09 Dec 2020 22:14:33 -0800 (PST) Received: from google.com ([2620:15c:202:201:a6ae:11ff:fe11:fcc3]) by smtp.gmail.com with ESMTPSA id iq3sm4495095pjb.57.2020.12.09.22.14.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 09 Dec 2020 22:14:32 -0800 (PST) Date: Wed, 9 Dec 2020 22:14:29 -0800 From: Dmitry Torokhov To: "jingle.wu" Cc: linux-kernel@vger.kernel.org, linux-input@vger.kernel.org, phoenix@emc.com.tw, josh.chen@emc.com.tw, dave.wang@emc.com.tw Subject: Re: [PATCH 1/2] Input: elan_i2c - Add new trackpoint report type 0x5F. Message-ID: References: <20201207090751.9076-1-jingle.wu@emc.com.tw> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20201207090751.9076-1-jingle.wu@emc.com.tw> Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Jingle, On Mon, Dec 07, 2020 at 05:07:51PM +0800, jingle.wu wrote: > The 0x5F is new trackpoint report type of some module. > > Signed-off-by: Jingle Wu > --- > drivers/input/mouse/elan_i2c_core.c | 2 ++ > drivers/input/mouse/elan_i2c_smbus.c | 3 ++- > 2 files changed, 4 insertions(+), 1 deletion(-) > > diff --git a/drivers/input/mouse/elan_i2c_core.c b/drivers/input/mouse/elan_i2c_core.c > index 61ed3f5ca219..8f0c4663167c 100644 > --- a/drivers/input/mouse/elan_i2c_core.c > +++ b/drivers/input/mouse/elan_i2c_core.c > @@ -52,6 +52,7 @@ > #define ETP_REPORT_ID 0x5D > #define ETP_REPORT_ID2 0x60 /* High precision report */ > #define ETP_TP_REPORT_ID 0x5E > +#define ETP_TP_REPORT_ID2 0x5F > #define ETP_REPORT_ID_OFFSET 2 > #define ETP_TOUCH_INFO_OFFSET 3 > #define ETP_FINGER_DATA_OFFSET 4 I think we might need to move this into elan_i2c.h so that we can reference it from elan_i2c_smbus.c. > @@ -1076,6 +1077,7 @@ static irqreturn_t elan_isr(int irq, void *dev_id) > elan_report_absolute(data, report, true); > break; > case ETP_TP_REPORT_ID: > + case ETP_TP_REPORT_ID2: > elan_report_trackpoint(data, report); > break; > default: > diff --git a/drivers/input/mouse/elan_i2c_smbus.c b/drivers/input/mouse/elan_i2c_smbus.c > index 1820f1cfc1dc..1226d47ec3cf 100644 > --- a/drivers/input/mouse/elan_i2c_smbus.c > +++ b/drivers/input/mouse/elan_i2c_smbus.c > @@ -45,6 +45,7 @@ > #define ETP_SMBUS_CALIBRATE_QUERY 0xC5 > > #define ETP_SMBUS_REPORT_LEN 32 > +#define ETP_SMBUS_REPORT_LEN2 7 > #define ETP_SMBUS_REPORT_OFFSET 2 > #define ETP_SMBUS_HELLOPACKET_LEN 5 > #define ETP_SMBUS_IAP_PASSWORD 0x1234 > @@ -497,7 +498,7 @@ static int elan_smbus_get_report(struct i2c_client *client, > return len; > } > > - if (len != ETP_SMBUS_REPORT_LEN) { > + if ((len != ETP_SMBUS_REPORT_LEN) && (len != ETP_SMBUS_REPORT_LEN2)) { I would prefer if we validated report length versus the packet type before accepting it. > dev_err(&client->dev, > "wrong report length (%d vs %d expected)\n", > len, ETP_SMBUS_REPORT_LEN); > -- > 2.17.1 > Thanks. -- Dmitry