diff options
Diffstat (limited to 'drivers/input/touchscreen/goodix.c')
| -rw-r--r-- | drivers/input/touchscreen/goodix.c | 10 |
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); } |
