On Fri, Sep 18, 2020 at 9:34 AM Adam Ford <aford173@xxxxxxxxx> wrote: > > Some people may wish to wake their system from sleep, so this > patch enables a suspend and resume function which enables > and disables IRQ wake functions. > > Signed-off-by: Adam Ford <aford173@xxxxxxxxx> Gentle ping. Any feedback on this? > > diff --git a/drivers/input/touchscreen/ili210x.c b/drivers/input/touchscreen/ili210x.c > index 199cf3daec10..9b1a61447054 100644 > --- a/drivers/input/touchscreen/ili210x.c > +++ b/drivers/input/touchscreen/ili210x.c > @@ -474,6 +474,28 @@ static int ili210x_i2c_probe(struct i2c_client *client, > return 0; > } > > +static int __maybe_unused ili210x_i2c_suspend(struct device *dev) > +{ > + struct i2c_client *client = to_i2c_client(dev); > + > + if (device_may_wakeup(&client->dev)) > + enable_irq_wake(client->irq); > + > + return 0; > +} > + > +static int __maybe_unused ili210x_i2c_resume(struct device *dev) > +{ > + struct i2c_client *client = to_i2c_client(dev); > + > + if (device_may_wakeup(&client->dev)) > + disable_irq_wake(client->irq); > + > + return 0; > +} > + > +static SIMPLE_DEV_PM_OPS(ili210x_i2c_pm, ili210x_i2c_suspend, ili210x_i2c_resume); > + > static const struct i2c_device_id ili210x_i2c_id[] = { > { "ili210x", (long)&ili210x_chip }, > { "ili2117", (long)&ili211x_chip }, > @@ -495,6 +517,7 @@ MODULE_DEVICE_TABLE(of, ili210x_dt_ids); > static struct i2c_driver ili210x_ts_driver = { > .driver = { > .name = "ili210x_i2c", > + .pm = &ili210x_i2c_pm, > .of_match_table = ili210x_dt_ids, > }, > .id_table = ili210x_i2c_id, > -- > 2.25.1 >