aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/watchdog/smsc37b787_wdt.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/watchdog/smsc37b787_wdt.c')
-rw-r--r--drivers/watchdog/smsc37b787_wdt.c34
1 files changed, 17 insertions, 17 deletions
diff --git a/drivers/watchdog/smsc37b787_wdt.c b/drivers/watchdog/smsc37b787_wdt.c
index b7c6394b7d70..239383da6d87 100644
--- a/drivers/watchdog/smsc37b787_wdt.c
+++ b/drivers/watchdog/smsc37b787_wdt.c
@@ -451,6 +451,23 @@ static long wb_smsc_wdt_ioctl(struct file *file,
451 return put_user(wb_smsc_wdt_status(), uarg.i); 451 return put_user(wb_smsc_wdt_status(), uarg.i);
452 case WDIOC_GETBOOTSTATUS: 452 case WDIOC_GETBOOTSTATUS:
453 return put_user(0, uarg.i); 453 return put_user(0, uarg.i);
454 case WDIOC_SETOPTIONS:
455 {
456 int options, retval = -EINVAL;
457
458 if (get_user(options, uarg.i))
459 return -EFAULT;
460
461 if (options & WDIOS_DISABLECARD) {
462 wb_smsc_wdt_disable();
463 retval = 0;
464 }
465 if (options & WDIOS_ENABLECARD) {
466 wb_smsc_wdt_enable();
467 retval = 0;
468 }
469 return retval;
470 }
454 case WDIOC_KEEPALIVE: 471 case WDIOC_KEEPALIVE:
455 wb_smsc_wdt_reset_timer(); 472 wb_smsc_wdt_reset_timer();
456 return 0; 473 return 0;
@@ -470,23 +487,6 @@ static long wb_smsc_wdt_ioctl(struct file *file,
470 if (unit == UNIT_MINUTE) 487 if (unit == UNIT_MINUTE)
471 new_timeout *= 60; 488 new_timeout *= 60;
472 return put_user(new_timeout, uarg.i); 489 return put_user(new_timeout, uarg.i);
473 case WDIOC_SETOPTIONS:
474 {
475 int options, retval = -EINVAL;
476
477 if (get_user(options, uarg.i))
478 return -EFAULT;
479
480 if (options & WDIOS_DISABLECARD) {
481 wb_smsc_wdt_disable();
482 retval = 0;
483 }
484 if (options & WDIOS_ENABLECARD) {
485 wb_smsc_wdt_enable();
486 retval = 0;
487 }
488 return retval;
489 }
490 default: 490 default:
491 return -ENOTTY; 491 return -ENOTTY;
492 } 492 }