driver: input: touchscreen: gslx680_pad add early suspend support

Signed-off-by: Weixin Zhou <zwx@rock-chips.com>
Change-Id: I4b4cc3594fdf00efdbcce349c9f4cdc942524096
This commit is contained in:
Weixin Zhou
2020-12-30 11:21:03 +08:00
committed by Tao Huang
parent de88d200e7
commit d8c24ac71e

View File

@@ -938,6 +938,24 @@ static int gsl_ts_resume(struct device *dev)
return 0;
}
static int gsl_ts_early_suspend(struct tp_device *tp_d)
{
struct gsl_ts *ts = container_of(tp_d, struct gsl_ts, tp);
gsl_ts_suspend(&ts->client->dev);
return 0;
}
static int gsl_ts_late_resume(struct tp_device *tp_d)
{
struct gsl_ts *ts = container_of(tp_d, struct gsl_ts, tp);
gsl_ts_resume(&ts->client->dev);
return 0;
}
static void gsl_download_fw_work(struct work_struct *work)
{
struct gsl_ts *ts = dev_get_drvdata(&gsl_client->dev);
@@ -981,7 +999,6 @@ static void gsl_resume_work(struct work_struct *work)
enable_irq(ts->irq);
}
static int gsl_ts_probe(struct i2c_client *client,
const struct i2c_device_id *id)
{
@@ -1097,6 +1114,10 @@ static int gsl_ts_probe(struct i2c_client *client,
gpio_set_value(ts->irq_pin, 0);
enable_irq(ts->irq);
ts->tp.tp_resume = gsl_ts_late_resume;
ts->tp.tp_suspend = gsl_ts_early_suspend;
tp_register_fb(&ts->tp);
return 0;
//exit_set_irq_mode:
@@ -1136,17 +1157,21 @@ static const struct i2c_device_id gsl_ts_id[] = {
};
MODULE_DEVICE_TABLE(i2c, gsl_ts_id);
#if !defined(CONFIG_DRM_FBDEV_EMULATION) && defined(CONFIG_PM)
static const struct dev_pm_ops gsl_pm_ops = {
.suspend = gsl_ts_suspend,
.resume = gsl_ts_resume,
};
#endif
static struct i2c_driver gsl_ts_driver = {
.driver = {
.name = GSLX680_I2C_NAME,
.owner = THIS_MODULE,
.of_match_table = of_match_ptr(gsl_ts_ids),
#if !defined(CONFIG_DRM_FBDEV_EMULATION) && defined(CONFIG_PM)
.pm = &gsl_pm_ops,
#endif
},
.probe = gsl_ts_probe,
.remove = gsl_ts_remove,