bring sparc riowatchdog in sync with 2.4

davej@codemonkey.org.uk
Mon, 24 Mar 2003 16:41:52 +0000


+ C99 struct initialisers

diff -urpN --exclude-from=/home/davej/.exclude bk-linus/drivers/sbus/char/riowatchdog.c linux-2.5/drivers/sbus/char/riowatchdog.c
--- bk-linus/drivers/sbus/char/riowatchdog.c 2003-03-08 09:57:23.000000000 +0000
+++ linux-2.5/drivers/sbus/char/riowatchdog.c 2003-03-17 23:42:32.000000000 +0000
@@ -1,4 +1,4 @@
-/* $Id: riowatchdog.c,v 1.3 2001/10/08 22:19:51 davem Exp $
+/* $Id: riowatchdog.c,v 1.3.2.2 2002/01/23 18:48:02 davem Exp $
* riowatchdog.c - driver for hw watchdog inside Super I/O of RIO
*
* Copyright (C) 2001 David S. Miller (davem@redhat.com)
@@ -127,8 +127,11 @@ static int riowd_release(struct inode *i
static int riowd_ioctl(struct inode *inode, struct file *filp,
unsigned int cmd, unsigned long arg)
{
- static struct watchdog_info info = { 0, 0, "Natl. Semiconductor PC97317" };
+ static struct watchdog_info info = {
+ WDIOF_SETTIMEOUT, 0, "Natl. Semiconductor PC97317"
+ };
unsigned int options;
+ int new_margin;

switch (cmd) {
case WDIOC_GETSUPPORT:
@@ -159,6 +162,18 @@ static int riowd_ioctl(struct inode *ino

break;

+ case WDIOC_SETTIMEOUT:
+ if (get_user(new_margin, (int *)arg))
+ return -EFAULT;
+ if ((new_margin < 60) || (new_margin > (255 * 60)))
+ return -EINVAL;
+ riowd_timeout = (new_margin + 59) / 60;
+ riowd_pingtimer();
+ /* Fall */
+
+ case WDIOC_GETTIMEOUT:
+ return put_user(riowd_timeout * 60, (int *)arg);
+
default:
return -EINVAL;
};
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/