]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/char/hangcheck-timer.c
drm: cleanup properly on drm module unload
[linux-2.6-omap-h63xx.git] / drivers / char / hangcheck-timer.c
index 78e650fc5b411c076ce288b9926c22a1dcd239fb..66e53dd450ff251ecb1642dbb0817af2c1131f5d 100644 (file)
@@ -117,7 +117,7 @@ __setup("hcheck_reboot", hangcheck_parse_reboot);
 __setup("hcheck_dump_tasks", hangcheck_parse_dump_tasks);
 #endif /* not MODULE */
 
-#if defined(CONFIG_X86) || defined(CONFIG_X86_64)
+#if defined(CONFIG_X86)
 # define HAVE_MONOTONIC
 # define TIMER_FREQ 1000000000ULL
 #elif defined(CONFIG_ARCH_S390)
@@ -149,8 +149,7 @@ static unsigned long long hangcheck_tsc, hangcheck_tsc_margin;
 
 static void hangcheck_fire(unsigned long);
 
-static struct timer_list hangcheck_ticktock =
-               TIMER_INITIALIZER(hangcheck_fire, 0, 0);
+static DEFINE_TIMER(hangcheck_ticktock, hangcheck_fire, 0, 0);
 
 
 static void hangcheck_fire(unsigned long data)
@@ -173,7 +172,7 @@ static void hangcheck_fire(unsigned long data)
                }
                if (hangcheck_reboot) {
                        printk(KERN_CRIT "Hangcheck: hangcheck is restarting the machine.\n");
-                       machine_restart(NULL);
+                       emergency_restart();
                } else {
                        printk(KERN_CRIT "Hangcheck: hangcheck value past margin!\n");
                }