]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/watchdog/scx200_wdt.c
Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git...
[linux-2.6-omap-h63xx.git] / drivers / watchdog / scx200_wdt.c
index d4fd0fa2f176e5cfb3bcf194b3c67fc5ee8cbd4b..d55882bca31926f46b517ffdf953257f49c0dba8 100644 (file)
@@ -231,17 +231,17 @@ static int __init scx200_wdt_init(void)
 
        sema_init(&open_semaphore, 1);
 
-       r = misc_register(&scx200_wdt_miscdev);
+       r = register_reboot_notifier(&scx200_wdt_notifier);
        if (r) {
+               printk(KERN_ERR NAME ": unable to register reboot notifier");
                release_region(scx200_cb_base + SCx200_WDT_OFFSET,
                                SCx200_WDT_SIZE);
                return r;
        }
 
-       r = register_reboot_notifier(&scx200_wdt_notifier);
+       r = misc_register(&scx200_wdt_miscdev);
        if (r) {
-               printk(KERN_ERR NAME ": unable to register reboot notifier");
-               misc_deregister(&scx200_wdt_miscdev);
+               unregister_reboot_notifier(&scx200_wdt_notifier);
                release_region(scx200_cb_base + SCx200_WDT_OFFSET,
                                SCx200_WDT_SIZE);
                return r;
@@ -252,8 +252,8 @@ static int __init scx200_wdt_init(void)
 
 static void __exit scx200_wdt_cleanup(void)
 {
-       unregister_reboot_notifier(&scx200_wdt_notifier);
        misc_deregister(&scx200_wdt_miscdev);
+       unregister_reboot_notifier(&scx200_wdt_notifier);
        release_region(scx200_cb_base + SCx200_WDT_OFFSET,
                       SCx200_WDT_SIZE);
 }