The host will trigger the hid interrupt to after reset hid, then send
wakeup key to light up screen,so any wakeupirq source will light up
screen due to reset hid in resume, and hid hwreset is not necessary.
Change-Id: I920239eeb4b57b0f594cc67cb8f4c1649c5125bd
Signed-off-by: Zhou weixin <zwx@rock-chips.com>
i2c_hid_get_input(ihid);
- if (ihid->is_suspend == 1)
+ if (device_may_wakeup(&ihid->client->dev) && ihid->is_suspend == 1)
rk_send_wakeup_key();
return IRQ_HANDLED;
int wake_status;
enable_irq(ihid->irq);
- ret = i2c_hid_hwreset(client);
- if (ret)
- return ret;
+ if (!device_may_wakeup(&client->dev)) {
+ ret = i2c_hid_hwreset(client);
+ if (ret)
+ return ret;
+ }
if (device_may_wakeup(&client->dev) && ihid->irq_wake_enabled) {
wake_status = disable_irq_wake(ihid->irq);