WDIOC_SETOPTIONS makes it possible to disable and re-enable the
watchdog timer while the hpwdt driver is loaded.
Signed-off-by: Jean Delvare <jdelvare@suse.de>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
 {
        void __user *argp = (void __user *)arg;
        int __user *p = argp;
-       int new_margin;
+       int new_margin, options;
        int ret = -ENOTTY;
 
        switch (cmd) {
                ret = 0;
                break;
 
+       case WDIOC_SETOPTIONS:
+               ret = get_user(options, p);
+               if (ret)
+                       break;
+
+               if (options & WDIOS_DISABLECARD)
+                       hpwdt_stop();
+
+               if (options & WDIOS_ENABLECARD) {
+                       hpwdt_start();
+                       hpwdt_ping();
+               }
+               break;
+
        case WDIOC_SETTIMEOUT:
                ret = get_user(new_margin, p);
                if (ret)