From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751353AbdH3ICR (ORCPT ); Wed, 30 Aug 2017 04:02:17 -0400 Received: from o2.lv30e.shared.sendgrid.net ([50.31.63.43]:59489 "EHLO o2.lv30e.shared.sendgrid.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751298AbdH3ICO (ORCPT ); Wed, 30 Aug 2017 04:02:14 -0400 X-Greylist: delayed 471 seconds by postgrey-1.27 at vger.kernel.org; Wed, 30 Aug 2017 04:02:14 EDT From: edvard.holst@gmail.com To: linux-input@vger.kernel.org Cc: dmitry.torokhov@gmail.com, Edvard Holst , Benjamin Tissoires , Eric Biggers , Andrew Duggan , linux-kernel@vger.kernel.org Subject: [PATCH] Input: synaptics - Lenovo Thinkpad X1 Carbon G5 (2017) with Elantech trackpoints should use RMI. Date: Wed, 30 Aug 2017 07:54:23 +0000 (UTC) Message-Id: <20170830075351.24981-1-edvard.holst@gmail.com> X-Mailer: git-send-email 2.13.5 X-SG-EID: UsLXQ589HNP4HLBydmD9pgHURQozLYm9XliudupI8Yt9eIiE6QnCAca8eQg/m9n/1TO2zEx0ptfW0h B5AaJ6OpZzHSwaJTgyCGdaYysClH+DRRIX1haVcHPicXmd0XWijWqVk0Kmb+xsdYo6wp6jXhbxmSR+ Y/S9QpZhXYaeENS6+Z8xOyg37Ad23Kf4nqL33rkG13iRAm7h89KmJf/mLw== Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Edvard Holst Lenovo use two different trackpoints in the fifth generation Thinkpad X1 Carbon. Both are accessible over SMBUS/RMI but the pnpIDs are missing. This patch is for the Elantech trackpoint specifically which also reports SMB version 3 so rmi_smbus needs to be updated in order to handle it. For the record, I was not the first one to come up with this patch as it has been floating around the internet for a while now. However, I have spent significant time with testing and my efforts to find the original author of the patch have been unsuccessful. Signed-off-by: Edvard Holst --- drivers/input/mouse/synaptics.c | 1 + drivers/input/rmi4/rmi_smbus.c | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/input/mouse/synaptics.c b/drivers/input/mouse/synaptics.c index 16c30460ef04..d44f1395c379 100644 --- a/drivers/input/mouse/synaptics.c +++ b/drivers/input/mouse/synaptics.c @@ -173,6 +173,7 @@ static const char * const smbus_pnp_ids[] = { "LEN0046", /* X250 */ "LEN004a", /* W541 */ "LEN200f", /* T450s */ + "LEN0073", /* X1 Carbon G5 (Elantech) */ NULL }; diff --git a/drivers/input/rmi4/rmi_smbus.c b/drivers/input/rmi4/rmi_smbus.c index 225025a0940c..2939a2f72019 100644 --- a/drivers/input/rmi4/rmi_smbus.c +++ b/drivers/input/rmi4/rmi_smbus.c @@ -322,7 +322,7 @@ static int rmi_smb_probe(struct i2c_client *client, rmi_dbg(RMI_DEBUG_XPORT, &client->dev, "Smbus version is %d", smbus_version); - if (smbus_version != 2) { + if (smbus_version != 2 && smbus_version != 3) { dev_err(&client->dev, "Unrecognized SMB version %d\n", smbus_version); return -ENODEV; -- 2.13.5