summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSudip Mukherjee <sudipm.mukherjee@gmail.com>2016-07-03 21:18:58 +0100
committerAlexandre Belloni <alexandre.belloni@free-electrons.com>2016-07-19 17:27:40 +0200
commit104b2d8776a42e2b8f9d349adfd71af0794e2a8a (patch)
treee455ba5e8212719b4a863a0f33cdde38b75b6638
parent6785b3b60be1504793246ae52cdb9e1df6f5cbcf (diff)
rtc: m41t80: 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 <sudip.mukherjee@codethink.co.uk> Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
-rw-r--r--drivers/rtc/rtc-m41t80.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/drivers/rtc/rtc-m41t80.c b/drivers/rtc/rtc-m41t80.c
index c829bc45a371..61b911c1b596 100644
--- a/drivers/rtc/rtc-m41t80.c
+++ b/drivers/rtc/rtc-m41t80.c
@@ -829,10 +829,9 @@ static int m41t80_probe(struct i2c_client *client,
return rc;
}
- rc = devm_add_action(&client->dev, m41t80_remove_sysfs_group,
- &client->dev);
+ rc = devm_add_action_or_reset(&client->dev, m41t80_remove_sysfs_group,
+ &client->dev);
if (rc) {
- m41t80_remove_sysfs_group(&client->dev);
dev_err(&client->dev,
"Failed to add sysfs cleanup action: %d\n", rc);
return rc;