Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=35fcf53870eaa6cc966604a6e36df1c2c1577540
Commit:     35fcf53870eaa6cc966604a6e36df1c2c1577540
Parent:     745ac1ea6e06125cc1326adbec34d756b25678c6
Author:     Wim Van Sebroeck <[EMAIL PROTECTED]>
AuthorDate: Sat Jan 27 22:54:18 2007 +0100
Committer:  Wim Van Sebroeck <[EMAIL PROTECTED]>
CommitDate: Sat Jan 27 22:54:18 2007 +0100

    [WATCHDOG] ib700wdt.c - convert to platform_device part 2
    
    Convert the reboot_notifier into the platform_device's shutdown
    method
    
    Signed-off-by: Wim Van Sebroeck <[EMAIL PROTECTED]>
---
 drivers/char/watchdog/ib700wdt.c |   42 ++++++-------------------------------
 1 files changed, 7 insertions(+), 35 deletions(-)

diff --git a/drivers/char/watchdog/ib700wdt.c b/drivers/char/watchdog/ib700wdt.c
index b74e151..c3a60f5 100644
--- a/drivers/char/watchdog/ib700wdt.c
+++ b/drivers/char/watchdog/ib700wdt.c
@@ -36,9 +36,7 @@
 #include <linux/miscdevice.h>
 #include <linux/watchdog.h>
 #include <linux/ioport.h>
-#include <linux/notifier.h>
 #include <linux/fs.h>
-#include <linux/reboot.h>
 #include <linux/init.h>
 #include <linux/spinlock.h>
 #include <linux/moduleparam.h>
@@ -284,21 +282,6 @@ ibwdt_close(struct inode *inode, struct file *file)
 }
 
 /*
- *     Notifier for system down
- */
-
-static int
-ibwdt_notify_sys(struct notifier_block *this, unsigned long code,
-       void *unused)
-{
-       if (code == SYS_DOWN || code == SYS_HALT) {
-               /* Turn the WDT off */
-               ibwdt_disable();
-       }
-       return NOTIFY_DONE;
-}
-
-/*
  *     Kernel Interfaces
  */
 
@@ -318,15 +301,6 @@ static struct miscdevice ibwdt_miscdev = {
 };
 
 /*
- *     The WDT needs to learn about soft shutdowns in order to
- *     turn the timebomb registers off.
- */
-
-static struct notifier_block ibwdt_notifier = {
-       .notifier_call = ibwdt_notify_sys,
-};
-
-/*
  *     Init & exit routines
  */
 
@@ -350,12 +324,6 @@ static int __devinit ibwdt_probe(struct platform_device 
*dev)
                goto out_nostartreg;
        }
 
-       res = register_reboot_notifier(&ibwdt_notifier);
-       if (res) {
-               printk (KERN_ERR PFX "Failed to register reboot notifier.\n");
-               goto out_noreboot;
-       }
-
        res = misc_register(&ibwdt_miscdev);
        if (res) {
                printk (KERN_ERR PFX "failed to register misc device\n");
@@ -364,8 +332,6 @@ static int __devinit ibwdt_probe(struct platform_device 
*dev)
        return 0;
 
 out_nomisc:
-       unregister_reboot_notifier(&ibwdt_notifier);
-out_noreboot:
        release_region(WDT_START, 1);
 out_nostartreg:
 #if WDT_START != WDT_STOP
@@ -378,7 +344,6 @@ out_nostopreg:
 static int __devexit ibwdt_remove(struct platform_device *dev)
 {
        misc_deregister(&ibwdt_miscdev);
-       unregister_reboot_notifier(&ibwdt_notifier);
        release_region(WDT_START,1);
 #if WDT_START != WDT_STOP
        release_region(WDT_STOP,1);
@@ -386,9 +351,16 @@ static int __devexit ibwdt_remove(struct platform_device 
*dev)
        return 0;
 }
 
+static void ibwdt_shutdown(struct platform_device *dev)
+{
+       /* Turn the WDT off if we have a soft shutdown */
+       ibwdt_disable();
+}
+
 static struct platform_driver ibwdt_driver = {
        .probe          = ibwdt_probe,
        .remove         = __devexit_p(ibwdt_remove),
+       .shutdown       = ibwdt_shutdown,
        .driver         = {
                .owner  = THIS_MODULE,
                .name   = DRV_NAME,
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to