Skip to content

Commit cb2b810

Browse files
Caesar-githubnumbqq
authored andcommitted
input: touchscreen: gsl3673: fixes the correct way during s2r
The early used the fb for display, the new drm display can't callback the suspend to resume function in gsl3673 driver. Change-Id: I36c7d89edaf4052e614c5a354f7a0a12c9c4275a Signed-off-by: Caesar Wang <[email protected]>
1 parent 2ac4fce commit cb2b810

File tree

1 file changed

+5
-21
lines changed

1 file changed

+5
-21
lines changed

drivers/input/touchscreen/gsl3673.c

Lines changed: 5 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1025,7 +1025,7 @@ static int gsl3673_ts_init(struct i2c_client *client, struct gsl_ts *ts)
10251025
return rc;
10261026
}
10271027

1028-
static int gsl_ts_suspend(struct device *dev)
1028+
static int __maybe_unused gsl_ts_suspend(struct device *dev)
10291029
{
10301030
struct gsl_ts *ts = dev_get_drvdata(dev);
10311031
int i;
@@ -1056,7 +1056,7 @@ static int gsl_ts_suspend(struct device *dev)
10561056
return 0;
10571057
}
10581058

1059-
static int gsl_ts_resume(struct device *dev)
1059+
static int __maybe_unused gsl_ts_resume(struct device *dev)
10601060
{
10611061
struct gsl_ts *ts = dev_get_drvdata(dev);
10621062
int i;
@@ -1089,23 +1089,6 @@ static int gsl_ts_resume(struct device *dev)
10891089
return 0;
10901090
}
10911091

1092-
static int gsl_ts_early_suspend(struct tp_device *tp_d)
1093-
{
1094-
struct gsl_ts *ts = container_of(tp_d, struct gsl_ts, tp);
1095-
1096-
gsl_ts_suspend(&ts->client->dev);
1097-
return 0;
1098-
}
1099-
1100-
static int gsl_ts_late_resume(struct tp_device *tp_d)
1101-
{
1102-
struct gsl_ts *ts = container_of(tp_d, struct gsl_ts, tp);
1103-
int rc;
1104-
1105-
rc = gsl_ts_resume(&ts->client->dev);
1106-
return rc;
1107-
}
1108-
11091092
static void gsl_download_fw_work(struct work_struct *work)
11101093
{
11111094
struct gsl_ts *ts = container_of(work, struct gsl_ts, download_fw_work);
@@ -1134,8 +1117,6 @@ static int gsl_ts_probe(struct i2c_client *client,
11341117
ts = devm_kzalloc(&client->dev, sizeof(*ts), GFP_KERNEL);
11351118
if (!ts)
11361119
return -ENOMEM;
1137-
ts->tp.tp_resume = gsl_ts_late_resume;
1138-
ts->tp.tp_suspend = gsl_ts_early_suspend;
11391120
tp_register_fb(&ts->tp);
11401121
ts->client = client;
11411122
i2c_set_clientdata(client, ts);
@@ -1197,6 +1178,8 @@ static int gsl_ts_remove(struct i2c_client *client)
11971178
return 0;
11981179
}
11991180

1181+
static SIMPLE_DEV_PM_OPS(gsl_ts_pm, gsl_ts_suspend, gsl_ts_resume);
1182+
12001183
static const struct of_device_id gsl_ts_ids[] = {
12011184
{.compatible = "GSL,GSL3673"},
12021185
{ }
@@ -1214,6 +1197,7 @@ static struct i2c_driver gsl_ts_driver = {
12141197
.name = GSL3673_I2C_NAME,
12151198
.owner = THIS_MODULE,
12161199
.of_match_table = of_match_ptr(gsl_ts_ids),
1200+
.pm = &gsl_ts_pm,
12171201
},
12181202
.probe = gsl_ts_probe,
12191203
.remove = gsl_ts_remove,

0 commit comments

Comments
 (0)