[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:
parent
8e0ee43bc2
commit
9626dd75c5
|
@ -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,
|
||||||
|
|
|
@ -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 = {
|
||||||
|
|
Loading…
Reference in New Issue