On Thu, 17 Jul 2014, Benjamin Tissoires wrote: > > Currently, the i2c-hid driver does not call the suspend, resume, and > > reset_resume callbacks in the hid_driver struct when those events occur. > > This means that HID drivers for i2c-hid devices will not be able to execute > > commands which may be needed during suspend or resume. One example is when a > > touchpad using the hid-multitouch driver gets reset by i2c-hid coming out of > > resume. Since the reset_resume callback never gets called the device is > > never > > put back into the correct input mode. This patch calls the suspend and > > resume > > callbacks and tries to duplicate the functionality of the usb-hid driver. > > > > Signed-off-by: Andrew Duggan <[email protected]> > > Signed-off-by: Vincent Huang <[email protected]> > > --- > > Hi Benjamin, > > > > This is the patch which Vincent and I came up with to fix the behavior > > which we were seeing with touchpads not being operational after resuming. > > We only use the reset_resume callback since i2c_hid_resume is always doing > > a hardware reset and it doesn't seem like there is a condition in which the > > standard resume callback would be appropriate. Also, is a full hardware > > reset always needed when resuming? > > Hi Andrew, > > well, the PM management of i2c_hid has been handled by Mika (in CC) and > I am unfortunately not able to have a strong opinion on this. I still > lack of hardware properly supporting the suspend/resume mechanism. > > So, you are in charge of that. IIRC, nothing prevents from not calling > hw_reset, but I guess this was the safer implementation we could have. > > Anyway, the patch looks good: > Reviewed-by: Benjamin Tissoires <[email protected]>
I am queuing this for 3.17. Mika, if you have any objections, please speak up. Thanks, -- Jiri Kosina SUSE Labs -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

