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>
        while (au_readl(SYS_COUNTER_CNTRL) & SYS_CNTRL_C0S)
                msleep(1);
 
-       rtcdev = rtc_device_register("rtc-au1xxx", &pdev->dev,
+       rtcdev = devm_rtc_device_register(&pdev->dev, "rtc-au1xxx",
                                     &au1xtoy_rtc_ops, THIS_MODULE);
        if (IS_ERR(rtcdev)) {
                ret = PTR_ERR(rtcdev);
 
 static int au1xtoy_rtc_remove(struct platform_device *pdev)
 {
-       struct rtc_device *rtcdev = platform_get_drvdata(pdev);
-
-       rtc_device_unregister(rtcdev);
        platform_set_drvdata(pdev, NULL);
 
        return 0;