diff options
author | Wim Van Sebroeck <wim@iguana.be> | 2008-07-18 19:59:48 +0000 |
---|---|---|
committer | Wim Van Sebroeck <wim@iguana.be> | 2008-08-06 13:21:16 +0000 |
commit | 12b7a1523eda9cd72362fdda928ddb995ecdc06d (patch) | |
tree | b5f38749e148f3afb3c5afdae0c7cb4c81c8b973 /drivers/watchdog/sbc8360.c | |
parent | 0c06090c9472db0525cb6fe229c3bea33bbbbb3c (diff) |
[WATCHDOG] sbc8360.c - move stop code into a function
Move the sbc8360.c watchdog stop code into a seperate function.
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
Diffstat (limited to 'drivers/watchdog/sbc8360.c')
-rw-r--r-- | drivers/watchdog/sbc8360.c | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/drivers/watchdog/sbc8360.c b/drivers/watchdog/sbc8360.c index c66fa6694fc..fd83dd052d8 100644 --- a/drivers/watchdog/sbc8360.c +++ b/drivers/watchdog/sbc8360.c @@ -231,6 +231,13 @@ static void sbc8360_ping(void) outb(wd_margin, SBC8360_BASETIME); } +/* stop watchdog */ +static void sbc8360_stop(void) +{ + /* De-activate the watchdog */ + outb(0, SBC8360_ENABLE); +} + /* Userspace pings kernel driver, or requests clean close */ static ssize_t sbc8360_write(struct file *file, const char __user *buf, size_t count, loff_t *ppos) @@ -271,7 +278,7 @@ static int sbc8360_open(struct inode *inode, struct file *file) static int sbc8360_close(struct inode *inode, struct file *file) { if (expect_close == 42) - outb(0, SBC8360_ENABLE); + sbc8360_stop(); else printk(KERN_CRIT PFX "SBC8360 device closed unexpectedly. SBC8360 will not stop!\n"); @@ -288,10 +295,9 @@ static int sbc8360_close(struct inode *inode, struct file *file) static int sbc8360_notify_sys(struct notifier_block *this, unsigned long code, void *unused) { - if (code == SYS_DOWN || code == SYS_HALT) { - /* Disable the SBC8360 Watchdog */ - outb(0, SBC8360_ENABLE); - } + if (code == SYS_DOWN || code == SYS_HALT) + sbc8360_stop(); /* Disable the SBC8360 Watchdog */ + return NOTIFY_DONE; } |