aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/input/touchscreen/goodix.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/input/touchscreen/goodix.c')
-rw-r--r--drivers/input/touchscreen/goodix.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/drivers/input/touchscreen/goodix.c b/drivers/input/touchscreen/goodix.c
index f8798d11ec03..eb8140a2ba25 100644
--- a/drivers/input/touchscreen/goodix.c
+++ b/drivers/input/touchscreen/goodix.c
@@ -1142,7 +1142,10 @@ static int goodix_configure_dev(struct goodix_ts_data *ts)
return -ENOMEM;
}
- ts->input_dev->name = "Goodix Capacitive TouchScreen";
+ snprintf(ts->name, GOODIX_NAME_MAX_LEN, "%s Goodix Capacitive TouchScreen",
+ dev_name(&ts->client->dev));
+
+ ts->input_dev->name = ts->name;
ts->input_dev->phys = "input/ts";
ts->input_dev->id.bustype = BUS_I2C;
ts->input_dev->id.vendor = 0x0416;
@@ -1420,6 +1423,11 @@ static void goodix_ts_remove(struct i2c_client *client)
{
struct goodix_ts_data *ts = i2c_get_clientdata(client);
+ if (!client->irq) {
+ timer_delete(&ts->timer);
+ cancel_work_sync(&ts->work_i2c_poll);
+ }
+
if (ts->load_cfg_from_disk)
wait_for_completion(&ts->firmware_loading_complete);
}