[WATCHDOG] cpwd.c & riowd.c - unlocked_ioctl

Switch to unlocked_ioctl

Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
This commit is contained in:
Wim Van Sebroeck 2009-01-21 11:13:11 +00:00
parent 8e0ee43bc2
commit 9626dd75c5
2 changed files with 17 additions and 18 deletions

View File

@ -400,8 +400,7 @@ static int cpwd_release(struct inode *inode, struct file *file)
return 0; return 0;
} }
static int cpwd_ioctl(struct inode *inode, struct file *file, static long cpwd_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
unsigned int cmd, unsigned long arg)
{ {
static struct watchdog_info info = { static struct watchdog_info info = {
.options = WDIOF_SETTIMEOUT, .options = WDIOF_SETTIMEOUT,
@ -409,6 +408,7 @@ static int cpwd_ioctl(struct inode *inode, struct file *file,
.identity = DRIVER_NAME, .identity = DRIVER_NAME,
}; };
void __user *argp = (void __user *)arg; void __user *argp = (void __user *)arg;
struct inode *inode = file->f_path.dentry->d_inode;
int index = iminor(inode) - WD0_MINOR; int index = iminor(inode) - WD0_MINOR;
struct cpwd *p = cpwd_device; struct cpwd *p = cpwd_device;
int setopt = 0; int setopt = 0;
@ -481,7 +481,7 @@ static long cpwd_compat_ioctl(struct file *file, unsigned int cmd,
case WIOCSTOP: case WIOCSTOP:
case WIOCGSTAT: case WIOCGSTAT:
lock_kernel(); lock_kernel();
rval = cpwd_ioctl(file->f_path.dentry->d_inode, file, cmd, arg); rval = cpwd_ioctl(file, cmd, arg);
unlock_kernel(); unlock_kernel();
break; break;
@ -515,13 +515,13 @@ static ssize_t cpwd_read(struct file * file, char __user *buffer,
} }
static const struct file_operations cpwd_fops = { static const struct file_operations cpwd_fops = {
.owner = THIS_MODULE, .owner = THIS_MODULE,
.ioctl = cpwd_ioctl, .unlocked_ioctl = cpwd_ioctl,
.compat_ioctl = cpwd_compat_ioctl, .compat_ioctl = cpwd_compat_ioctl,
.open = cpwd_open, .open = cpwd_open,
.write = cpwd_write, .write = cpwd_write,
.read = cpwd_read, .read = cpwd_read,
.release = cpwd_release, .release = cpwd_release,
}; };
static int __devinit cpwd_probe(struct of_device *op, static int __devinit cpwd_probe(struct of_device *op,

View File

@ -86,8 +86,7 @@ static int riowd_release(struct inode *inode, struct file *filp)
return 0; return 0;
} }
static int riowd_ioctl(struct inode *inode, struct file *filp, static long riowd_ioctl(struct file *filp, unsigned int cmd, unsigned long arg)
unsigned int cmd, unsigned long arg)
{ {
static struct watchdog_info info = { static struct watchdog_info info = {
.options = WDIOF_SETTIMEOUT, .options = WDIOF_SETTIMEOUT,
@ -160,12 +159,12 @@ static ssize_t riowd_write(struct file *file, const char __user *buf, size_t cou
} }
static const struct file_operations riowd_fops = { static const struct file_operations riowd_fops = {
.owner = THIS_MODULE, .owner = THIS_MODULE,
.llseek = no_llseek, .llseek = no_llseek,
.ioctl = riowd_ioctl, .unlocked_ioctl = riowd_ioctl,
.open = riowd_open, .open = riowd_open,
.write = riowd_write, .write = riowd_write,
.release = riowd_release, .release = riowd_release,
}; };
static struct miscdevice riowd_miscdev = { static struct miscdevice riowd_miscdev = {