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