mirror of
https://github.com/adulau/aha.git
synced 2024-12-28 19:56:18 +00:00
[WATCHDOG] mv64x60_wdt: Add WDIOC_SETOPTIONS ioctl support
Allow the watchdog timer to be enabled or disabled via the WDIOC_SETOPTIONS ioctl. Signed-off-by: Dale Farnsworth <dale@farnsworth.org> Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
This commit is contained in:
parent
94796f9087
commit
85d57238d2
1 changed files with 10 additions and 1 deletions
|
@ -132,6 +132,7 @@ static int mv64x60_wdt_ioctl(struct inode *inode, struct file *file,
|
||||||
unsigned int cmd, unsigned long arg)
|
unsigned int cmd, unsigned long arg)
|
||||||
{
|
{
|
||||||
int timeout;
|
int timeout;
|
||||||
|
int options;
|
||||||
void __user *argp = (void __user *)arg;
|
void __user *argp = (void __user *)arg;
|
||||||
static struct watchdog_info info = {
|
static struct watchdog_info info = {
|
||||||
.options = WDIOF_SETTIMEOUT |
|
.options = WDIOF_SETTIMEOUT |
|
||||||
|
@ -157,7 +158,15 @@ static int mv64x60_wdt_ioctl(struct inode *inode, struct file *file,
|
||||||
return -EOPNOTSUPP;
|
return -EOPNOTSUPP;
|
||||||
|
|
||||||
case WDIOC_SETOPTIONS:
|
case WDIOC_SETOPTIONS:
|
||||||
return -EOPNOTSUPP;
|
if (get_user(options, (int __user *)argp))
|
||||||
|
return -EFAULT;
|
||||||
|
|
||||||
|
if (options & WDIOS_DISABLECARD)
|
||||||
|
mv64x60_wdt_handler_disable();
|
||||||
|
|
||||||
|
if (options & WDIOS_ENABLECARD)
|
||||||
|
mv64x60_wdt_handler_enable();
|
||||||
|
break;
|
||||||
|
|
||||||
case WDIOC_KEEPALIVE:
|
case WDIOC_KEEPALIVE:
|
||||||
mv64x60_wdt_service();
|
mv64x60_wdt_service();
|
||||||
|
|
Loading…
Reference in a new issue