Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1598160
| Path | csiph.com!aioe.org!bofh.it!news.nic.it!robomod |
|---|---|
| From | Dmitry Torokhov <dmitry.torokhov@gmail.com> |
| Newsgroups | linux.kernel |
| Subject | [PATCH v2 9/9] [NEEDS F21] Input: synaptics - switch forcepad devices over to SMbus access |
| Date | Sat, 11 Mar 2017 00:10:02 +0100 |
| Message-ID | <tjBPA-2pi-7@gated-at.bofh.it> (permalink) |
| References | <tjBPz-2pi-5@gated-at.bofh.it> |
| Dkim-Signature | v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=NSQJF9PQrIaiGvWueOUHl7ne5K4ZscDR0pvCb6/8nko=; b=nYPayRZWdvwElZlMIhjD3KSGorD/Sl/5i967HCRI96JS/+yTAke7e59cHSC64MnNYq OLBbXe5NM8NOZb9fltXo+CqIxLXnxex+d1DAtvD1jkXswMcksUlx87GrHyA/T4siUM6C FDhU1jevint9OFTlPhD+jROwpCC/EmayvIBdgka53NdWxqpAvgmzxPWDIhxfm6ddqtJQ bfswPt+mJqY5dwLA6R1B3EBTcRzs1kAGLo4WoJt6ZwUpk12KcIdQJvEhzMs6MvgUnsHb /Y2uJoiNkBz4lb6eZB6qm1oS9NgCMM8H/fItt0b4nakGtqYkaW+qbc6O9QfqjdiA9iY7 aWxQ== |
| X-Google-Dkim-Signature | v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=NSQJF9PQrIaiGvWueOUHl7ne5K4ZscDR0pvCb6/8nko=; b=XP7ns8z+AK3MZKBBMeNnIswqtS6peExH4y58a5cV2zircDUPlqaneMmCBHzWXjbBOp 8WyE51zF4za0kPHk8VsvCwcxWiErA1ZwqEMa/PSAAcKcKLy85u44Molm1p6PPE4ZaoUw 0bI+4TSXWnzJahb04Z8OJO9F3Hg0ZcCgpIHm8cSBBOGAz10kaMbtnpeCvSPCdjd3Z0gw QILj+zJ2jZFjVaGH17eO21yOrSOJcEm7zhcuSbnDZp8wB+D584SdcPLaDWiL1WFRz9DZ M2/rf7KuU7g68T2865WWNURdnu/B6lX/mzXcabb0mRsjj9zK59bnpJ/EQGAvi2OgTEzd d01A== |
| X-Gm-Message-State | AMke39nMVEwv5Wt2WMOFMly9pRbxd2YOi8h4LzoMTiQD4j7VAylnno/g1cGMnsJwkDPszQ== |
| X-Received | by 10.99.36.71 with SMTP id k68mr23446714pgk.68.1489186885263; Fri, 10 Mar 2017 15:01:25 -0800 (PST) |
| X-Mailer | git-send-email 2.12.0.246.ga2ecc84866-goog |
| Sender | robomod@news.nic.it |
| List-ID | <linux-kernel.vger.kernel.org> |
| X-Mailing-List | linux-kernel@vger.kernel.org |
| Approved | robomod@news.nic.it |
| Lines | 72 |
| Organization | linux.* mail to news gateway |
| X-Original-Cc | Andrew Duggan <aduggan@synaptics.com>, linux-kernel@vger.kernel.org, linux-input@vger.kernel.org |
| X-Original-Date | Fri, 10 Mar 2017 15:01:14 -0800 |
| X-Original-Message-ID | <20170310230114.788-10-dmitry.torokhov@gmail.com> |
| X-Original-References | <20170310230114.788-1-dmitry.torokhov@gmail.com> |
| X-Original-Sender | linux-kernel-owner@vger.kernel.org |
| Xref | csiph.com linux.kernel:1598160 |
Show key headers only | View raw
Synaptics "forcedpad" devices use address 0x20 instead of 0x2c.
Unfortunately the fact that the device is a forcepad is not exported
through PS/2 interface, so we need a bit of DMI magic to switch over to the
correct address.
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
---
drivers/input/mouse/synaptics.c | 23 ++++++++++++++---------
1 file changed, 14 insertions(+), 9 deletions(-)
diff --git a/drivers/input/mouse/synaptics.c b/drivers/input/mouse/synaptics.c
index 26794f06ad9c..1b9ae3a7f915 100644
--- a/drivers/input/mouse/synaptics.c
+++ b/drivers/input/mouse/synaptics.c
@@ -171,6 +171,13 @@ static const char * const smbus_pnp_ids[] = {
NULL
};
+/* This list has been kindly provided by Synaptics. */
+static const char * const forcepad_pnp_ids[] = {
+ "SYN300D",
+ "SYN3014",
+ NULL
+};
+
/*
* Send a command to the synpatics touchpad by special commands
*/
@@ -493,13 +500,6 @@ static const struct min_max_quirk min_max_pnpid_table[] = {
{ }
};
-/* This list has been kindly provided by Synaptics. */
-static const char * const forcepad_pnp_ids[] = {
- "SYN300D",
- "SYN3014",
- NULL
-};
-
/*****************************************************************************
* Synaptics communications functions
****************************************************************************/
@@ -1721,11 +1721,14 @@ static int synaptics_create_intertouch(struct psmouse *psmouse,
!!SYN_CAP_EXT_BUTTONS_STICK(info->ext_cap_10),
},
};
- const struct i2c_board_info intertouch_board = {
+ struct i2c_board_info intertouch_board = {
I2C_BOARD_INFO("rmi4_smbus", 0x2c),
.flags = I2C_CLIENT_HOST_NOTIFY,
};
+ if (psmouse_matches_pnp_id(psmouse, forcepad_pnp_ids))
+ intertouch_board.addr = 0x20;
+
return psmouse_smbus_init(psmouse, &intertouch_board,
&pdata, sizeof(pdata),
leave_breadcrumbs);
@@ -1746,8 +1749,10 @@ static int synaptics_setup_intertouch(struct psmouse *psmouse,
if (synaptics_intertouch == SYNAPTICS_INTERTOUCH_NOT_SET) {
if (!psmouse_matches_pnp_id(psmouse, topbuttonpad_pnp_ids) &&
- !psmouse_matches_pnp_id(psmouse, smbus_pnp_ids))
+ !psmouse_matches_pnp_id(psmouse, smbus_pnp_ids) &&
+ !psmouse_matches_pnp_id(psmouse, forcepad_pnp_ids)) {
return -ENXIO;
+ }
}
psmouse_info(psmouse, "Trying to set up SMBus access\n");
--
2.12.0.246.ga2ecc84866-goog
Back to linux.kernel | Previous | Next | Find similar | Unroll thread
[PATCH v2 9/9] [NEEDS F21] Input: synaptics - switch forcepad devices over to SMbus access Dmitry Torokhov <dmitry.torokhov@gmail.com> - 2017-03-11 00:10 +0100
csiph-web