rtc: rtc-lp8788: use devm_rtc_device_register()
authorJingoo Han <jg1.han@samsung.com>
Mon, 29 Apr 2013 23:19:04 +0000 (16:19 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Tue, 30 Apr 2013 01:28:26 +0000 (18:28 -0700)
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>
drivers/rtc/rtc-lp8788.c

index 9a4631218f41dd7364c5ca332f9ac29456c1791d..9853ac15b296bb0a41ff1a25f0b678a1516975b3 100644 (file)
@@ -299,7 +299,7 @@ static int lp8788_rtc_probe(struct platform_device *pdev)
 
        device_init_wakeup(dev, 1);
 
-       rtc->rdev = rtc_device_register("lp8788_rtc", dev,
+       rtc->rdev = devm_rtc_device_register(dev, "lp8788_rtc",
                                        &lp8788_rtc_ops, THIS_MODULE);
        if (IS_ERR(rtc->rdev)) {
                dev_err(dev, "can not register rtc device\n");
@@ -314,9 +314,6 @@ static int lp8788_rtc_probe(struct platform_device *pdev)
 
 static int lp8788_rtc_remove(struct platform_device *pdev)
 {
-       struct lp8788_rtc *rtc = platform_get_drvdata(pdev);
-
-       rtc_device_unregister(rtc->rdev);
        platform_set_drvdata(pdev, NULL);
 
        return 0;