aboutsummaryrefslogtreecommitdiffstats
path: root/arch/m68k
diff options
context:
space:
mode:
authorJohn Stultz <johnstul@us.ibm.com>2010-03-03 19:57:26 -0800
committerThomas Gleixner <tglx@linutronix.de>2010-03-13 01:14:13 +0100
commitffbcad49e79cd82428010b44a87401446ea7f370 (patch)
tree1543092ca1a359fb010c565fd7cc41563a8642c0 /arch/m68k
parent944694716d6ea3c274a73c830bf33e194bad4bcd (diff)
downloadkernel_samsung_smdk4412-ffbcad49e79cd82428010b44a87401446ea7f370.zip
kernel_samsung_smdk4412-ffbcad49e79cd82428010b44a87401446ea7f370.tar.gz
kernel_samsung_smdk4412-ffbcad49e79cd82428010b44a87401446ea7f370.tar.bz2
m68k: Convert m68k to use read/update_persistent_clock
This patch converts the m68k architecture to use the generic read_persistent_clock and update_persistent_clock interfaces, reducing the amount of arch specific code we have to maintain, and allowing for further cleanups in the future. I have not built or tested this patch, so help from arch maintainers would be appreciated. Signed-off-by: John Stultz <johnstul@us.ibm.com> Cc: Geert Uytterhoeven <geert@linux-m68k.org> Cc: Andrew Morton <akpm@linux-foundation.org> LKML-Reference: <1267675049-12337-12-git-send-email-johnstul@us.ibm.com> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'arch/m68k')
-rw-r--r--arch/m68k/kernel/time.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/arch/m68k/kernel/time.c b/arch/m68k/kernel/time.c
index 17dc2a3..4926b38 100644
--- a/arch/m68k/kernel/time.c
+++ b/arch/m68k/kernel/time.c
@@ -73,21 +73,24 @@ static irqreturn_t timer_interrupt(int irq, void *dummy)
return IRQ_HANDLED;
}
-void __init time_init(void)
+void read_persistent_clock(struct timespec *ts)
{
struct rtc_time time;
+ ts->tv_sec = 0;
+ ts->tv_nsec = 0;
if (mach_hwclk) {
mach_hwclk(0, &time);
if ((time.tm_year += 1900) < 1970)
time.tm_year += 100;
- xtime.tv_sec = mktime(time.tm_year, time.tm_mon, time.tm_mday,
+ ts->tv_sec = mktime(time.tm_year, time.tm_mon, time.tm_mday,
time.tm_hour, time.tm_min, time.tm_sec);
- xtime.tv_nsec = 0;
}
- wall_to_monotonic.tv_sec = -xtime.tv_sec;
+}
+void __init time_init(void)
+{
mach_sched_init(timer_interrupt);
}