[WATCHDOG] ib700wdt.c small clean-up's
authorWim Van Sebroeck <wim@iguana.be>
Sat, 27 Jan 2007 21:07:03 +0000 (22:07 +0100)
committerWim Van Sebroeck <wim@iguana.be>
Sat, 27 Jan 2007 21:07:03 +0000 (22:07 +0100)
* 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>
drivers/char/watchdog/ib700wdt.c

index d379bf075264a63ae8bde23a2c748818cec37712..3cec6790893ef5a78c6a86cbb0d7eb66abfab94b 100644 (file)
@@ -3,8 +3,8 @@
  *
  *     (c) Copyright 2001 Charles Howes <chowes@vsol.net>
  *
- *      Based on advantechwdt.c which is based on acquirewdt.c which
- *       is based on wdt.c.
+ *     Based on advantechwdt.c which is based on acquirewdt.c which
+ *     is based on wdt.c.
  *
  *     (c) Copyright 2000-2001 Marek Michalkiewicz <marekm@linux.org.pl>
  *
@@ -25,9 +25,9 @@
  *
  *     (c) Copyright 1995    Alan Cox <alan@redhat.com>
  *
- *      14-Dec-2001 Matt Domsch <Matt_Domsch@dell.com>
- *           Added nowayout module option to override CONFIG_WATCHDOG_NOWAYOUT
- *           Added timeout module option to override default
+ *     14-Dec-2001 Matt Domsch <Matt_Domsch@dell.com>
+ *          Added nowayout module option to override CONFIG_WATCHDOG_NOWAYOUT
+ *          Added timeout module option to override default
  *
  */
 
@@ -201,6 +201,7 @@ ibwdt_ioctl(struct inode *inode, struct file *file, unsigned int cmd,
          break;
 
        case WDIOC_GETSTATUS:
+       case WDIOC_GETBOOTSTATUS:
          return put_user(0, p);
 
        case WDIOC_KEEPALIVE:
@@ -246,11 +247,12 @@ static int
 ibwdt_close(struct inode *inode, struct file *file)
 {
        spin_lock(&ibwdt_lock);
-       if (expect_close == 42)
+       if (expect_close == 42) {
                ibwdt_disable();
-       else
+       } else {
                printk(KERN_CRIT PFX "WDT device closed unexpectedly.  WDT will not stop!\n");
-
+               ibwdt_ping();
+       }
        clear_bit(0, &ibwdt_is_open);
        expect_close = 0;
        spin_unlock(&ibwdt_lock);