diff options
author | Wim Van Sebroeck <wim@iguana.be> | 2007-01-27 16:07:03 -0500 |
---|---|---|
committer | Wim Van Sebroeck <wim@iguana.be> | 2007-01-27 16:07:03 -0500 |
commit | c9d7710ea2b497784314a916a39d4d390855a557 (patch) | |
tree | d43daf08154aae885a8b48dba656a15abff5493c /drivers/char | |
parent | f6e4803969ee93bef6aeeb6aff0f9214547d1bb1 (diff) |
[WATCHDOG] ib700wdt.c small clean-up's
* Fix identation
* Add watchdog "mandatory" WDIOC_GETBOOTSTATUS ioctl
* On unexpected close -> since this is considered as
a write to the watchdog device, make sure we ping a
last time.
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
Diffstat (limited to 'drivers/char')
-rw-r--r-- | drivers/char/watchdog/ib700wdt.c | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/drivers/char/watchdog/ib700wdt.c b/drivers/char/watchdog/ib700wdt.c index d379bf075264..3cec6790893e 100644 --- a/drivers/char/watchdog/ib700wdt.c +++ b/drivers/char/watchdog/ib700wdt.c | |||
@@ -3,8 +3,8 @@ | |||
3 | * | 3 | * |
4 | * (c) Copyright 2001 Charles Howes <chowes@vsol.net> | 4 | * (c) Copyright 2001 Charles Howes <chowes@vsol.net> |
5 | * | 5 | * |
6 | * Based on advantechwdt.c which is based on acquirewdt.c which | 6 | * Based on advantechwdt.c which is based on acquirewdt.c which |
7 | * is based on wdt.c. | 7 | * is based on wdt.c. |
8 | * | 8 | * |
9 | * (c) Copyright 2000-2001 Marek Michalkiewicz <marekm@linux.org.pl> | 9 | * (c) Copyright 2000-2001 Marek Michalkiewicz <marekm@linux.org.pl> |
10 | * | 10 | * |
@@ -25,9 +25,9 @@ | |||
25 | * | 25 | * |
26 | * (c) Copyright 1995 Alan Cox <alan@redhat.com> | 26 | * (c) Copyright 1995 Alan Cox <alan@redhat.com> |
27 | * | 27 | * |
28 | * 14-Dec-2001 Matt Domsch <Matt_Domsch@dell.com> | 28 | * 14-Dec-2001 Matt Domsch <Matt_Domsch@dell.com> |
29 | * Added nowayout module option to override CONFIG_WATCHDOG_NOWAYOUT | 29 | * Added nowayout module option to override CONFIG_WATCHDOG_NOWAYOUT |
30 | * Added timeout module option to override default | 30 | * Added timeout module option to override default |
31 | * | 31 | * |
32 | */ | 32 | */ |
33 | 33 | ||
@@ -201,6 +201,7 @@ ibwdt_ioctl(struct inode *inode, struct file *file, unsigned int cmd, | |||
201 | break; | 201 | break; |
202 | 202 | ||
203 | case WDIOC_GETSTATUS: | 203 | case WDIOC_GETSTATUS: |
204 | case WDIOC_GETBOOTSTATUS: | ||
204 | return put_user(0, p); | 205 | return put_user(0, p); |
205 | 206 | ||
206 | case WDIOC_KEEPALIVE: | 207 | case WDIOC_KEEPALIVE: |
@@ -246,11 +247,12 @@ static int | |||
246 | ibwdt_close(struct inode *inode, struct file *file) | 247 | ibwdt_close(struct inode *inode, struct file *file) |
247 | { | 248 | { |
248 | spin_lock(&ibwdt_lock); | 249 | spin_lock(&ibwdt_lock); |
249 | if (expect_close == 42) | 250 | if (expect_close == 42) { |
250 | ibwdt_disable(); | 251 | ibwdt_disable(); |
251 | else | 252 | } else { |
252 | printk(KERN_CRIT PFX "WDT device closed unexpectedly. WDT will not stop!\n"); | 253 | printk(KERN_CRIT PFX "WDT device closed unexpectedly. WDT will not stop!\n"); |
253 | 254 | ibwdt_ping(); | |
255 | } | ||
254 | clear_bit(0, &ibwdt_is_open); | 256 | clear_bit(0, &ibwdt_is_open); |
255 | expect_close = 0; | 257 | expect_close = 0; |
256 | spin_unlock(&ibwdt_lock); | 258 | spin_unlock(&ibwdt_lock); |