From: Sudip Mukherjee Date: Sat, 24 Aug 2024 05:50:25 +0000 (-0700) Subject: Input: zforce_ts - use devm_add_action_or_reset() X-Git-Tag: v6.12-rc1~65^2~2^2~21 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=4a0467ed7387d7ed46f5e46ae6fd44987d1044c0;p=thirdparty%2Fkernel%2Flinux.git Input: zforce_ts - use devm_add_action_or_reset() If devm_add_action() fails we are explicitly calling the cleanup to free the resources allocated. Lets use the helper devm_add_action_or_reset() and return directly in case of error, as we know that the cleanup function has been already called by the helper if there was any error. Signed-off-by: Sudip Mukherjee Reviewed-by: Heiko Stuebner Tested-by: Andreas Kemnade # Tolino Shine2HD Link: https://lore.kernel.org/r/20240824055047.1706392-2-dmitry.torokhov@gmail.com Signed-off-by: Dmitry Torokhov --- diff --git a/drivers/input/touchscreen/zforce_ts.c b/drivers/input/touchscreen/zforce_ts.c index fdf2d1e770c83..ffbd55c6e1d45 100644 --- a/drivers/input/touchscreen/zforce_ts.c +++ b/drivers/input/touchscreen/zforce_ts.c @@ -803,15 +803,12 @@ static int zforce_probe(struct i2c_client *client) udelay(100); } - ret = devm_add_action(&client->dev, zforce_reset, ts); + ret = devm_add_action_or_reset(&client->dev, zforce_reset, ts); if (ret) { dev_err(&client->dev, "failed to register reset action, %d\n", ret); /* hereafter the regulator will be disabled by the action */ - if (!IS_ERR(ts->reg_vdd)) - regulator_disable(ts->reg_vdd); - return ret; }