37 #include <linux/module.h>
38 #include <linux/types.h>
39 #include <linux/kernel.h>
43 #include <linux/watchdog.h>
44 #include <linux/reboot.h>
48 #include <asm/uaccess.h>
55 static int timer_alive;
56 static int harddog_in_fd = -1;
57 static int harddog_out_fd = -1;
74 #ifdef CONFIG_WATCHDOG_NOWAYOUT
78 #ifdef CONFIG_MCONSOLE
97 static int harddog_release(
struct inode *inode,
struct file *file)
117 static ssize_t harddog_write(
struct file *file,
const char __user *
data,
size_t len,
128 static int harddog_ioctl_unlocked(
struct file *file,
129 unsigned int cmd,
unsigned long arg)
135 "UML Hardware Watchdog"
146 return put_user(0,(
int __user *)argp);
152 static long harddog_ioctl(
struct file *file,
153 unsigned int cmd,
unsigned long arg)
158 ret = harddog_ioctl_unlocked(file, cmd, arg);
166 .write = harddog_write,
167 .unlocked_ioctl = harddog_ioctl,
168 .open = harddog_open,
169 .release = harddog_release,
176 .fops = &harddog_fops,
181 static int __init harddog_init(
void)
195 static void __exit harddog_exit(
void)