[v2,1/2] Input: synaptics-rmi4 - RMI4 can also use SMBUS version 3
diff mbox

Message ID 20171006140630.6398-2-yiannis.marangos@gmail.com
State Under Review
Headers show

Commit Message

Yiannis Marangos Oct. 6, 2017, 2:06 p.m. UTC
Some synaptics devices such as LEN0073 use SMBUS version 3.
---
 drivers/input/rmi4/rmi_smbus.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Comments

Yiannis Marangos Oct. 10, 2017, 6:04 p.m. UTC | #1
Hi guys,

As I understand the second part of the patchset will take a while until it get
merged. Is it possible to merge the first part only? Without this, LEN0073 users
can not use psmouse.synaptics_intertouch=1 as a workaround. LEN0073 is not
usable at all unless users patch the kernel manually.

Other options are:

1) Add a kernel flag and if is set to 1 then the version check will be bypassed.
2) Remove the version check completely.

Any suggestions/comments?

Cheers,
Yiannis.
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Dmitry Torokhov Oct. 24, 2017, 6:19 p.m. UTC | #2
On Tue, Oct 10, 2017 at 09:04:20PM +0300, Yiannis Marangos wrote:
> Hi guys,
> 
> As I understand the second part of the patchset will take a while until it get
> merged. Is it possible to merge the first part only? Without this, LEN0073 users
> can not use psmouse.synaptics_intertouch=1 as a workaround. LEN0073 is not
> usable at all unless users patch the kernel manually.

Benjamin, Andrew, any comments/objections on expanding the acceptable
version range?

Thanks.
Andrew Duggan Oct. 24, 2017, 11:50 p.m. UTC | #3
Hi Dmitry,

On 10/24/2017 11:19 AM, Dmitry Torokhov wrote:
> On Tue, Oct 10, 2017 at 09:04:20PM +0300, Yiannis Marangos wrote:
>> Hi guys,
>>
>> As I understand the second part of the patchset will take a while until it get
>> merged. Is it possible to merge the first part only? Without this, LEN0073 users
>> can not use psmouse.synaptics_intertouch=1 as a workaround. LEN0073 is not
>> usable at all unless users patch the kernel manually.
> Benjamin, Andrew, any comments/objections on expanding the acceptable
> version range?

I didn't comment earlier since I didn't have any specific info about 
SMBus v3. But, looking at the spec for v3 it sounds like our v2 
touchpads should be compatible with a v3 bus.

"This version of the specification is a superset of previous versions, 
1.0, 1.1, and 2.0. The intent is that all devices compliant with these 
previous versions are compliant with this version."

 From http://smbus.org/specs/SMBus_3_0_20141220.pdf pg 8 section 1.3.

Based on that quote and the fact that it seems to work for Yiannis makes 
me think that this change is probably ok.

Andrew

> Thanks.
>

--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Benjamin Tissoires Oct. 25, 2017, 7:31 a.m. UTC | #4
On Oct 24 2017 or thereabouts, Andrew Duggan wrote:
> Hi Dmitry,
> 
> On 10/24/2017 11:19 AM, Dmitry Torokhov wrote:
> > On Tue, Oct 10, 2017 at 09:04:20PM +0300, Yiannis Marangos wrote:
> > > Hi guys,
> > > 
> > > As I understand the second part of the patchset will take a while until it get
> > > merged. Is it possible to merge the first part only? Without this, LEN0073 users
> > > can not use psmouse.synaptics_intertouch=1 as a workaround. LEN0073 is not
> > > usable at all unless users patch the kernel manually.
> > Benjamin, Andrew, any comments/objections on expanding the acceptable
> > version range?
> 
> I didn't comment earlier since I didn't have any specific info about SMBus
> v3. But, looking at the spec for v3 it sounds like our v2 touchpads should
> be compatible with a v3 bus.
> 
> "This version of the specification is a superset of previous versions, 1.0,
> 1.1, and 2.0. The intent is that all devices compliant with these previous
> versions are compliant with this version."
> 
> From http://smbus.org/specs/SMBus_3_0_20141220.pdf pg 8 section 1.3.
> 
> Based on that quote and the fact that it seems to work for Yiannis makes me
> think that this change is probably ok.
> 

I concur. I thought the version was Synaptics' one, but if it is the
SMBus protocol they are following, allowing v3 is OK.

Aceked-By: Benjamin Tissoires <benjamin.tissoires@redhat.com>

Cheers,
Benjamin

> Andrew
> 
> > Thanks.
> > 
> 
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Dmitry Torokhov Oct. 25, 2017, 4:14 p.m. UTC | #5
On Wed, Oct 25, 2017 at 09:31:55AM +0200, Benjamin Tissoires wrote:
> On Oct 24 2017 or thereabouts, Andrew Duggan wrote:
> > Hi Dmitry,
> > 
> > On 10/24/2017 11:19 AM, Dmitry Torokhov wrote:
> > > On Tue, Oct 10, 2017 at 09:04:20PM +0300, Yiannis Marangos wrote:
> > > > Hi guys,
> > > > 
> > > > As I understand the second part of the patchset will take a while until it get
> > > > merged. Is it possible to merge the first part only? Without this, LEN0073 users
> > > > can not use psmouse.synaptics_intertouch=1 as a workaround. LEN0073 is not
> > > > usable at all unless users patch the kernel manually.
> > > Benjamin, Andrew, any comments/objections on expanding the acceptable
> > > version range?
> > 
> > I didn't comment earlier since I didn't have any specific info about SMBus
> > v3. But, looking at the spec for v3 it sounds like our v2 touchpads should
> > be compatible with a v3 bus.
> > 
> > "This version of the specification is a superset of previous versions, 1.0,
> > 1.1, and 2.0. The intent is that all devices compliant with these previous
> > versions are compliant with this version."
> > 
> > From http://smbus.org/specs/SMBus_3_0_20141220.pdf pg 8 section 1.3.
> > 
> > Based on that quote and the fact that it seems to work for Yiannis makes me
> > think that this change is probably ok.
> > 
> 
> I concur. I thought the version was Synaptics' one, but if it is the
> SMBus protocol they are following, allowing v3 is OK.
> 
> Aceked-By: Benjamin Tissoires <benjamin.tissoires@redhat.com>

OK, great.

Yiannis, I need your signed-off-by, it is missing from the patch.

Thanks!

Patch
diff mbox

diff --git a/drivers/input/rmi4/rmi_smbus.c b/drivers/input/rmi4/rmi_smbus.c
index 225025a0940c..b6ccf39c6a7b 100644
--- a/drivers/input/rmi4/rmi_smbus.c
+++ b/drivers/input/rmi4/rmi_smbus.c
@@ -312,7 +312,7 @@  static int rmi_smb_probe(struct i2c_client *client,
 	rmi_smb->xport.dev = &client->dev;
 	rmi_smb->xport.pdata = *pdata;
 	rmi_smb->xport.pdata.irq = client->irq;
-	rmi_smb->xport.proto_name = "smb2";
+	rmi_smb->xport.proto_name = "smb";
 	rmi_smb->xport.ops = &rmi_smb_ops;
 
 	smbus_version = rmi_smb_get_version(rmi_smb);
@@ -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;