Received: by 2002:a05:6a10:f347:0:0:0:0 with SMTP id d7csp2240296pxu; Mon, 7 Dec 2020 00:54:20 -0800 (PST) X-Google-Smtp-Source: ABdhPJzcyPDj7AL4AVinCcCDQMQRo7zH9bX2GnJPI15pAACnvKx+WDmdJvl8kOOjUb3801ASKoyn X-Received: by 2002:aa7:c3c2:: with SMTP id l2mr18631549edr.15.1607331260051; Mon, 07 Dec 2020 00:54:20 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1607331260; cv=none; d=google.com; s=arc-20160816; b=tA5p4vg66T/7p8bJw01eI1OQMe2Iigd0T+12xGJFYxU5+As1iRUyK+vLb/CkNCbbz/ 0xAlPNqwv4DuhSPZsrFZkW8fzawRqicLca2DyDXDP86Fu7L54gL9vZ63y5r08W1GtIw+ /U6MVhmatifuo6JDDKViuRHwXuc5yJ4uMIn0TqQXzvcLjsML3b0uQPjpl6MA7YfOcE/m rApL3dQnPxmzhs50JLd7Q99/OnGc/hp2LdMFMlANHK7l+T1ZFBKkrPqxXo+4/W51vORx iKaBlhi3bo+gMlVkkGdb48o/D37Ylw4OrNpjwghFboDlu6doQ/RikZZDGlzDWjme7Iq6 Bl/A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:message-id:date:subject:cc:to:from; bh=j6FESko+a+X6h/0n/0iuk9Qsud99YNv42SI6ax+Uz+4=; b=TjIBGjrLQClMYDxqWJYCFFu8Nya+mfHHmeyXzoP+T99wUZWydmvYg6vohAhIF4IRZu tydIYoCM4pL/l1H+wOHRQ/5l/iUXSZf8wpn5RaNOuuTXJiItWPrcI4EBC8tFQVhW/y2Z bbVHp2Zd5zka2arOx6F91ls2+3GTQ24nh2Ob0KbztOvNfkLTuNkZL43i8GiTPpy7yVh4 mpopXf411DuWUdfflXZ1P58hu/P3lqT/Mwj/K9DxW+aSXeTL4MQvj2DiABogMat0kTDr 0PaDbPQYpBnEjJrcZTNK6c4/IWtjpbpmqFnUYwotogTXwBtAylvaT/V1fORTdqAx6EU5 8tkg== ARC-Authentication-Results: i=1; mx.google.com; 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id a23si610089edu.542.2020.12.07.00.53.57; Mon, 07 Dec 2020 00:54:20 -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; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726298AbgLGIvc (ORCPT + 99 others); Mon, 7 Dec 2020 03:51:32 -0500 Received: from emcscan.emc.com.tw ([192.72.220.5]:37214 "EHLO emcscan.emc.com.tw" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726138AbgLGIvc (ORCPT ); Mon, 7 Dec 2020 03:51:32 -0500 X-IronPort-AV: E=Sophos;i="5.56,253,1539619200"; d="scan'208";a="38474444" Received: from unknown (HELO webmail.emc.com.tw) ([192.168.10.1]) by emcscan.emc.com.tw with ESMTP; 07 Dec 2020 16:50:49 +0800 Received: from 192.168.10.23 by webmail.emc.com.tw with MailAudit ESMTP Server V5.0(138840:0:AUTH_RELAY) (envelope-from ); Mon, 07 Dec 2020 16:50:48 +0800 (CST) Received: from 101.12.100.64 by webmail.emc.com.tw with Mail2000 ESMTPA Server V7.00(106416:1:AUTH_LOGIN) (envelope-from ); Mon, 07 Dec 2020 16:50:47 +0800 (CST) From: "jingle.wu" To: linux-kernel@vger.kernel.org, linux-input@vger.kernel.org, dmitry.torohov@gmail.com Cc: phoenix@emc.com.tw, josh.chen@emc.com.tw, dave.wang@emc.com.tw, "jingle.wu" Subject: [PATCH 1/2] Input: elan_i2c - Add new trackpoint report type 0x5F. Date: Mon, 7 Dec 2020 16:50:54 +0800 Message-Id: <20201207085054.8328-1-jingle.wu@emc.com.tw> X-Mailer: git-send-email 2.17.1 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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 @@ -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)) { dev_err(&client->dev, "wrong report length (%d vs %d expected)\n", len, ETP_SMBUS_REPORT_LEN); -- 2.17.1