sh: fix no sys_timer case
authorMagnus Damm <damm@igel.co.jp>
Thu, 22 Jan 2009 09:55:49 +0000 (09:55 +0000)
committerPaul Mundt <lethal@linux-sh.org>
Thu, 29 Jan 2009 07:45:47 +0000 (16:45 +0900)
Handle the case with a sys_timer set to NULL.

Signed-off-by: Magnus Damm <damm@igel.co.jp>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
arch/sh/kernel/time_32.c

index ca22eef..766554b 100644 (file)
@@ -181,7 +181,12 @@ static struct sysdev_class timer_sysclass = {
 
 static int __init timer_init_sysfs(void)
 {
-       int ret = sysdev_class_register(&timer_sysclass);
+       int ret;
+
+       if (!sys_timer)
+               return 0;
+
+       ret = sysdev_class_register(&timer_sysclass);
        if (ret != 0)
                return ret;
 
@@ -230,5 +235,8 @@ void __init time_init(void)
         * initialized for us.
         */
        sys_timer = get_sys_timer();
+       if (unlikely(!sys_timer))
+               panic("System timer missing.\n");
+
        printk(KERN_INFO "Using %s for system timer\n", sys_timer->name);
 }