Input: egalax_ts - add system wakeup support
This patch adds wakeup function support for egalax touch screen, if "wakeup-source" is added to device tree's egalax touch screen node, the wakeup function will be enabled, and egalax touch screen will be able to wakeup system from suspend. Signed-off-by: Anson Huang <Anson.Huang@nxp.com> Reviewed-by: Fabio Estevam <fabio.estevam@nxp.com> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
This commit is contained in:
parent
b8a946d8dc
commit
49f62249a9
|
@ -241,6 +241,9 @@ static int __maybe_unused egalax_ts_suspend(struct device *dev)
|
|||
struct i2c_client *client = to_i2c_client(dev);
|
||||
int ret;
|
||||
|
||||
if (device_may_wakeup(dev))
|
||||
return enable_irq_wake(client->irq);
|
||||
|
||||
ret = i2c_master_send(client, suspend_cmd, MAX_I2C_DATA_LEN);
|
||||
return ret > 0 ? 0 : ret;
|
||||
}
|
||||
|
@ -249,6 +252,9 @@ static int __maybe_unused egalax_ts_resume(struct device *dev)
|
|||
{
|
||||
struct i2c_client *client = to_i2c_client(dev);
|
||||
|
||||
if (device_may_wakeup(dev))
|
||||
return disable_irq_wake(client->irq);
|
||||
|
||||
return egalax_wake_up_device(client);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue