[POWERPC] Use mktime in timer sysdev
authorJohannes Berg <johannes@sipsolutions.net>
Wed, 2 May 2007 14:25:42 +0000 (00:25 +1000)
committerPaul Mackerras <paulus@samba.org>
Mon, 25 Jun 2007 06:56:09 +0000 (16:56 +1000)
This makes the timer sysdev use mktime instead of rtc_tm_to_time,
since rtc_tm_to_time just calls mktime anyway, and this means we
don't have a dependency on rtc-lib.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: Paul Mackerras <paulus@samba.org>
arch/powerpc/Kconfig
arch/powerpc/sysdev/timer.c

index 882f8a1d2c7c30d3ee0de0780f3e10bd6e897aed..29012204c295edbd7c9f2fead4e5ba7e341a1d63 100644 (file)
@@ -6,11 +6,6 @@ mainmenu "Linux/PowerPC Kernel Configuration"
 
 source "arch/powerpc/platforms/Kconfig.cputype"
 
-config PPC_PM_NEEDS_RTC_LIB
-       bool
-       select RTC_LIB
-       default y if PM
-
 config PPC32
        bool
        default y if !PPC64
index 4a01748b4217aa4272b81e8fa0e9528cdf727340..e81e7ec2e799adbf521ac49edf87f7bf47e11537 100644 (file)
@@ -24,7 +24,12 @@ static int timer_resume(struct sys_device *dev)
 
        /* get current RTC time and convert to seconds */
        get_rtc_time(&cur_rtc_tm);
-       rtc_tm_to_time(&cur_rtc_tm, &cur_rtc_time);
+       cur_rtc_time = mktime(cur_rtc_tm.tm_year + 1900,
+                             cur_rtc_tm.tm_mon + 1,
+                             cur_rtc_tm.tm_mday,
+                             cur_rtc_tm.tm_hour,
+                             cur_rtc_tm.tm_min,
+                             cur_rtc_tm.tm_sec);
 
        diff = cur_rtc_time - suspend_rtc_time;
 
@@ -44,7 +49,12 @@ static int timer_suspend(struct sys_device *dev, pm_message_t state)
        WARN_ON(!ppc_md.get_rtc_time);
 
        get_rtc_time(&suspend_rtc_tm);
-       rtc_tm_to_time(&suspend_rtc_tm, &suspend_rtc_time);
+       suspend_rtc_time = mktime(suspend_rtc_tm.tm_year + 1900,
+                                 suspend_rtc_tm.tm_mon + 1,
+                                 suspend_rtc_tm.tm_mday,
+                                 suspend_rtc_tm.tm_hour,
+                                 suspend_rtc_tm.tm_min,
+                                 suspend_rtc_tm.tm_sec);
 
        return 0;
 }