]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - drivers/rtc/rtc-tps6586x.c
Merge tag 'fixes-for-3.10-rc2-tag' of git://git.kernel.org/pub/scm/linux/kernel/git...
[karo-tx-linux.git] / drivers / rtc / rtc-tps6586x.c
index aab4e8c936226244b25f112a52a86c0a84c67a9c..459c2ffc95a6b3a9b59d6baf997949a0ac13ac0f 100644 (file)
@@ -274,7 +274,7 @@ static int tps6586x_rtc_probe(struct platform_device *pdev)
        }
 
        platform_set_drvdata(pdev, rtc);
-       rtc->rtc = rtc_device_register(dev_name(&pdev->dev), &pdev->dev,
+       rtc->rtc = devm_rtc_device_register(&pdev->dev, dev_name(&pdev->dev),
                                       &tps6586x_rtc_ops, THIS_MODULE);
        if (IS_ERR(rtc->rtc)) {
                ret = PTR_ERR(rtc->rtc);
@@ -289,15 +289,12 @@ static int tps6586x_rtc_probe(struct platform_device *pdev)
        if (ret < 0) {
                dev_err(&pdev->dev, "request IRQ(%d) failed with ret %d\n",
                                rtc->irq, ret);
-               goto fail_req_irq;
+               goto fail_rtc_register;
        }
        disable_irq(rtc->irq);
        device_set_wakeup_capable(&pdev->dev, 1);
        return 0;
 
-fail_req_irq:
-       rtc_device_unregister(rtc->rtc);
-
 fail_rtc_register:
        tps6586x_update(tps_dev, RTC_CTRL, 0,
                RTC_ENABLE | OSC_SRC_SEL | PRE_BYPASS | CL_SEL_MASK);
@@ -306,12 +303,10 @@ fail_rtc_register:
 
 static int tps6586x_rtc_remove(struct platform_device *pdev)
 {
-       struct tps6586x_rtc *rtc = platform_get_drvdata(pdev);
        struct device *tps_dev = to_tps6586x_dev(&pdev->dev);
 
        tps6586x_update(tps_dev, RTC_CTRL, 0,
                RTC_ENABLE | OSC_SRC_SEL | PRE_BYPASS | CL_SEL_MASK);
-       rtc_device_unregister(rtc->rtc);
        return 0;
 }
 
@@ -335,9 +330,8 @@ static int tps6586x_rtc_resume(struct device *dev)
 }
 #endif
 
-static const struct dev_pm_ops tps6586x_pm_ops = {
-       SET_SYSTEM_SLEEP_PM_OPS(tps6586x_rtc_suspend, tps6586x_rtc_resume)
-};
+static SIMPLE_DEV_PM_OPS(tps6586x_pm_ops, tps6586x_rtc_suspend,
+                       tps6586x_rtc_resume);
 
 static struct platform_driver tps6586x_rtc_driver = {
        .driver = {