Thread (24 messages) 24 messages, 4 authors, 2016-07-18

Re: [PATCH v8 4/4] Input: synaptics-rmi4 - add SMBus support

From: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Date: 2016-06-24 23:35:13
Also in: linux-i2c, lkml

On Fri, Jun 24, 2016 at 09:19:32AM +0200, Benjamin Tissoires wrote:
On Jun 23 2016 or thereabouts, Dmitry Torokhov wrote:
quoted
On Thu, Jun 09, 2016 at 04:53:50PM +0200, Benjamin Tissoires wrote:
quoted
+
+static struct i2c_driver rmi_smb_driver = {
+	.driver = {
+		.owner	= THIS_MODULE,
+		.name	= "rmi4_smbus",
+		.pm	= &rmi_smb_pm,
+		.resume	= rmi_smb_resume,
Why rmi_smb_resume is not part of rmi_smb_pm?
This is because rmi_smbus device both have a PS/2 interface and a SMBus
one. I'll have to check again now that I have a slightly different way
of binding smbus devices in my tree, but the issue was:
- having resume part of pm means it will get caught by PM directly
- the PS/2 node gets also resumed by PM
- calling PS/2 commands during resume switches the devices back into
  PS/2 and stops the SMBus communication.

So it's easier to wait only for the PS/2 PM resume call which will call
the SMBus resume function when the device is in a proper state.

I'll send out the updated patch with your comments next week hopefully.
Hmm, I think you will have to walk me through resume process. How do we
tie in PS/2 and I2C on these devices abd have PS/2 code call into this
driver?

Thanks.

-- 
Dmitry
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help