summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMagnus Damm <damm@igel.co.jp>2009-04-15 12:50:12 +0200
committerPaul Mundt <lethal@linux-sh.org>2009-04-19 06:06:24 +0200
commiteaab89197b733d0f81f07d6c44294b674479fda8 (patch)
tree790fa1ae9f6c250562137f0cdc578e284f077c88
parentclocksource: sh_cmt earlytimer support (diff)
downloadlinux-eaab89197b733d0f81f07d6c44294b674479fda8.tar.xz
linux-eaab89197b733d0f81f07d6c44294b674479fda8.zip
sh: arch earlytimer support
Extend the 32-bit SuperH timer code to register and probe the earlytimer class of Early Platform Drivers. This registers the sh_cmt driver if compiled-in. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
-rw-r--r--arch/sh/kernel/time_32.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/arch/sh/kernel/time_32.c b/arch/sh/kernel/time_32.c
index c34e1e0f9b02..04b8c6ab1667 100644
--- a/arch/sh/kernel/time_32.c
+++ b/arch/sh/kernel/time_32.c
@@ -17,6 +17,7 @@
#include <linux/sched.h>
#include <linux/clockchips.h>
#include <linux/mc146818rtc.h> /* for rtc_lock */
+#include <linux/platform_device.h>
#include <linux/smp.h>
#include <asm/clock.h>
#include <asm/rtc.h>
@@ -229,6 +230,14 @@ void __init time_init(void)
#endif
/*
+ * Make sure all compiled-in early timers register themselves.
+ * Run probe() for one "earlytimer" device.
+ */
+ early_platform_driver_register_all("earlytimer");
+ if (early_platform_driver_probe("earlytimer", 1, 0))
+ return;
+
+ /*
* Find the timer to use as the system timer, it will be
* initialized for us.
*/