lkml.org 
[lkml]   [2013]   [Apr]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
From
Subject[PATCH 11/27] rtc: rtc-m41t80: use devm_*() functions
Date
Use devm_*() functions to make cleanup paths simpler.

Signed-off-by: Jingoo Han <jg1.han@samsung.com>
---
drivers/rtc/rtc-m41t80.c | 16 +++++-----------
1 files changed, 5 insertions(+), 11 deletions(-)

diff --git a/drivers/rtc/rtc-m41t80.c b/drivers/rtc/rtc-m41t80.c
index b885bcd..89674b5 100644
--- a/drivers/rtc/rtc-m41t80.c
+++ b/drivers/rtc/rtc-m41t80.c
@@ -637,7 +637,8 @@ static int m41t80_probe(struct i2c_client *client,
dev_info(&client->dev,
"chip found, driver version " DRV_VERSION "\n");

- clientdata = kzalloc(sizeof(*clientdata), GFP_KERNEL);
+ clientdata = devm_kzalloc(&client->dev, sizeof(*clientdata),
+ GFP_KERNEL);
if (!clientdata) {
rc = -ENOMEM;
goto exit;
@@ -646,8 +647,8 @@ static int m41t80_probe(struct i2c_client *client,
clientdata->features = id->driver_data;
i2c_set_clientdata(client, clientdata);

- rtc = rtc_device_register(client->name, &client->dev,
- &m41t80_rtc_ops, THIS_MODULE);
+ rtc = devm_rtc_device_register(&client->dev, client->name,
+ &m41t80_rtc_ops, THIS_MODULE);
if (IS_ERR(rtc)) {
rc = PTR_ERR(rtc);
rtc = NULL;
@@ -718,26 +719,19 @@ ht_err:
goto exit;

exit:
- if (rtc)
- rtc_device_unregister(rtc);
- kfree(clientdata);
return rc;
}

static int m41t80_remove(struct i2c_client *client)
{
+#ifdef CONFIG_RTC_DRV_M41T80_WDT
struct m41t80_data *clientdata = i2c_get_clientdata(client);
- struct rtc_device *rtc = clientdata->rtc;

-#ifdef CONFIG_RTC_DRV_M41T80_WDT
if (clientdata->features & M41T80_FEATURE_HT) {
misc_deregister(&wdt_dev);
unregister_reboot_notifier(&wdt_notifier);
}
#endif
- if (rtc)
- rtc_device_unregister(rtc);
- kfree(clientdata);

return 0;
}
--
1.7.2.5



\
 
 \ /
  Last update: 2013-04-01 12:42    [W:1.843 / U:0.056 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site