[PATCH] Input: stmfts - add missed input_unregister_device

From: Chuhong Yuan
Date: Thu May 07 2020 - 11:11:59 EST


This driver calls input_register_device() in probe, but misses
input_unregister_device() in probe failure and remove.
Add the missed function calls to fix it.

Signed-off-by: Chuhong Yuan <hslester96@xxxxxxxxx>
---
drivers/input/touchscreen/stmfts.c | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/drivers/input/touchscreen/stmfts.c b/drivers/input/touchscreen/stmfts.c
index b6f95f20f924..4345aa98a320 100644
--- a/drivers/input/touchscreen/stmfts.c
+++ b/drivers/input/touchscreen/stmfts.c
@@ -728,8 +728,10 @@ static int stmfts_probe(struct i2c_client *client,
}

err = devm_device_add_group(&client->dev, &stmfts_attribute_group);
- if (err)
+ if (err) {
+ input_unregister_device(sdata->input);
return err;
+ }

pm_runtime_enable(&client->dev);
device_enable_async_suspend(&client->dev);
@@ -739,7 +741,10 @@ static int stmfts_probe(struct i2c_client *client,

static int stmfts_remove(struct i2c_client *client)
{
+ struct stmfts_data *sdata = i2c_get_clientdata(client);
+
pm_runtime_disable(&client->dev);
+ input_unregister_device(sdata->input);

return 0;
}
--
2.26.2