diff options
author | Jingoo Han <jg1.han@samsung.com> | 2013-04-29 19:19:00 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-04-29 21:28:25 -0400 |
commit | c1be915ee03ac9b4c02a6b75f31283a69d55cf03 (patch) | |
tree | 856c882ed4eec39d6e444acc3397f44a1d12759b | |
parent | f650e657afdefc11f735e6fd49451af5ac2253ed (diff) |
rtc: rtc-ds1553: use devm_rtc_device_register()
devm_rtc_device_register() is device managed and makes cleanup
paths simpler.
Signed-off-by: Jingoo Han <jg1.han@samsung.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r-- | drivers/rtc/rtc-ds1553.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/drivers/rtc/rtc-ds1553.c b/drivers/rtc/rtc-ds1553.c index 25ce0621ade9..8c6c952e90b1 100644 --- a/drivers/rtc/rtc-ds1553.c +++ b/drivers/rtc/rtc-ds1553.c | |||
@@ -326,15 +326,14 @@ static int ds1553_rtc_probe(struct platform_device *pdev) | |||
326 | } | 326 | } |
327 | } | 327 | } |
328 | 328 | ||
329 | rtc = rtc_device_register(pdev->name, &pdev->dev, | 329 | rtc = devm_rtc_device_register(&pdev->dev, pdev->name, |
330 | &ds1553_rtc_ops, THIS_MODULE); | 330 | &ds1553_rtc_ops, THIS_MODULE); |
331 | if (IS_ERR(rtc)) | 331 | if (IS_ERR(rtc)) |
332 | return PTR_ERR(rtc); | 332 | return PTR_ERR(rtc); |
333 | pdata->rtc = rtc; | 333 | pdata->rtc = rtc; |
334 | 334 | ||
335 | ret = sysfs_create_bin_file(&pdev->dev.kobj, &ds1553_nvram_attr); | 335 | ret = sysfs_create_bin_file(&pdev->dev.kobj, &ds1553_nvram_attr); |
336 | if (ret) | 336 | |
337 | rtc_device_unregister(rtc); | ||
338 | return ret; | 337 | return ret; |
339 | } | 338 | } |
340 | 339 | ||
@@ -343,7 +342,6 @@ static int ds1553_rtc_remove(struct platform_device *pdev) | |||
343 | struct rtc_plat_data *pdata = platform_get_drvdata(pdev); | 342 | struct rtc_plat_data *pdata = platform_get_drvdata(pdev); |
344 | 343 | ||
345 | sysfs_remove_bin_file(&pdev->dev.kobj, &ds1553_nvram_attr); | 344 | sysfs_remove_bin_file(&pdev->dev.kobj, &ds1553_nvram_attr); |
346 | rtc_device_unregister(pdata->rtc); | ||
347 | if (pdata->irq > 0) | 345 | if (pdata->irq > 0) |
348 | writeb(0, pdata->ioaddr + RTC_INTERRUPTS); | 346 | writeb(0, pdata->ioaddr + RTC_INTERRUPTS); |
349 | return 0; | 347 | return 0; |