]> err.no Git - linux-2.6/blobdiff - drivers/rtc/rtc-sa1100.c
Merge branch 'sched/clock' into sched/devel
[linux-2.6] / drivers / rtc / rtc-sa1100.c
index 2eb38520f0c8cf267f57360ae16970623e316588..67421b0d3a7b33ff7e2b87d641a5e3e499e5fa98 100644 (file)
@@ -331,14 +331,14 @@ static int sa1100_rtc_probe(struct platform_device *pdev)
                RCNR = 0;
        }
 
+       device_init_wakeup(&pdev->dev, 1);
+
        rtc = rtc_device_register(pdev->name, &pdev->dev, &sa1100_rtc_ops,
                                THIS_MODULE);
 
        if (IS_ERR(rtc))
                return PTR_ERR(rtc);
 
-       device_init_wakeup(&pdev->dev, 1);
-
        platform_set_drvdata(pdev, rtc);
 
        return 0;
@@ -357,23 +357,15 @@ static int sa1100_rtc_remove(struct platform_device *pdev)
 #ifdef CONFIG_PM
 static int sa1100_rtc_suspend(struct platform_device *pdev, pm_message_t state)
 {
-       if (pdev->dev.power.power_state.event != state.event) {
-               if (state.event == PM_EVENT_SUSPEND &&
-                   device_may_wakeup(&pdev->dev))
-                       enable_irq_wake(IRQ_RTCAlrm);
-
-               pdev->dev.power.power_state = state;
-       }
+       if (device_may_wakeup(&pdev->dev))
+               enable_irq_wake(IRQ_RTCAlrm);
        return 0;
 }
 
 static int sa1100_rtc_resume(struct platform_device *pdev)
 {
-       if (pdev->dev.power.power_state.event != PM_EVENT_ON) {
-               if (device_may_wakeup(&pdev->dev))
-                       disable_irq_wake(IRQ_RTCAlrm);
-               pdev->dev.power.power_state = PMSG_ON;
-       }
+       if (device_may_wakeup(&pdev->dev))
+               disable_irq_wake(IRQ_RTCAlrm);
        return 0;
 }
 #else
@@ -407,3 +399,4 @@ module_exit(sa1100_rtc_exit);
 MODULE_AUTHOR("Richard Purdie <rpurdie@rpsys.net>");
 MODULE_DESCRIPTION("SA11x0/PXA2xx Realtime Clock Driver (RTC)");
 MODULE_LICENSE("GPL");
+MODULE_ALIAS("platform:sa1100-rtc");