@@ -261,7 +261,7 @@ static int tps6507x_ts_probe(struct platform_device *pdev)
init_data = tps_board->tps6507x_ts_init_data;
- tsc = kzalloc(sizeof(struct tps6507x_ts), GFP_KERNEL);
+ tsc = devm_kzalloc(&pdev->dev, sizeof(struct tps6507x_ts), GFP_KERNEL);
if (!tsc) {
dev_err(tps6507x_dev->dev, "failed to allocate driver data\n");
error = -ENOMEM;
@@ -339,7 +339,6 @@ err2:
cancel_delayed_work_sync(&tsc->work);
input_free_device(input_dev);
err1:
- kfree(tsc);
tps6507x_dev->ts = NULL;
err0:
return error;
@@ -356,7 +355,6 @@ static int tps6507x_ts_remove(struct platform_device *pdev)
input_unregister_device(input_dev);
tps6507x_dev->ts = NULL;
- kfree(tsc);
return 0;
}
Update the code to use devm_* API so that driver core will manage resources. Signed-off-by: Vishwanathrao Badarkhe, Manish <manishv.b@ti.com> --- :100644 100644 820a066... 65e0f9a... M drivers/input/touchscreen/tps6507x-ts.c drivers/input/touchscreen/tps6507x-ts.c | 4 +--- 1 files changed, 1 insertions(+), 3 deletions(-)