cosa: Kill off the use of the old ioctl path
Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
8edf19c2fe
commit
2395f0e862
@ -296,8 +296,8 @@ static ssize_t cosa_write(struct file *file,
|
|||||||
static unsigned int cosa_poll(struct file *file, poll_table *poll);
|
static unsigned int cosa_poll(struct file *file, poll_table *poll);
|
||||||
static int cosa_open(struct inode *inode, struct file *file);
|
static int cosa_open(struct inode *inode, struct file *file);
|
||||||
static int cosa_release(struct inode *inode, struct file *file);
|
static int cosa_release(struct inode *inode, struct file *file);
|
||||||
static int cosa_chardev_ioctl(struct inode *inode, struct file *file,
|
static long cosa_chardev_ioctl(struct file *file, unsigned int cmd,
|
||||||
unsigned int cmd, unsigned long arg);
|
unsigned long arg);
|
||||||
#ifdef COSA_FASYNC_WORKING
|
#ifdef COSA_FASYNC_WORKING
|
||||||
static int cosa_fasync(struct inode *inode, struct file *file, int on);
|
static int cosa_fasync(struct inode *inode, struct file *file, int on);
|
||||||
#endif
|
#endif
|
||||||
@ -308,7 +308,7 @@ static const struct file_operations cosa_fops = {
|
|||||||
.read = cosa_read,
|
.read = cosa_read,
|
||||||
.write = cosa_write,
|
.write = cosa_write,
|
||||||
.poll = cosa_poll,
|
.poll = cosa_poll,
|
||||||
.ioctl = cosa_chardev_ioctl,
|
.unlocked_ioctl = cosa_chardev_ioctl,
|
||||||
.open = cosa_open,
|
.open = cosa_open,
|
||||||
.release = cosa_release,
|
.release = cosa_release,
|
||||||
#ifdef COSA_FASYNC_WORKING
|
#ifdef COSA_FASYNC_WORKING
|
||||||
@ -1203,12 +1203,18 @@ static int cosa_net_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd)
|
|||||||
return hdlc_ioctl(dev, ifr, cmd);
|
return hdlc_ioctl(dev, ifr, cmd);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int cosa_chardev_ioctl(struct inode *inode, struct file *file,
|
static long cosa_chardev_ioctl(struct file *file, unsigned int cmd,
|
||||||
unsigned int cmd, unsigned long arg)
|
unsigned long arg)
|
||||||
{
|
{
|
||||||
struct channel_data *channel = file->private_data;
|
struct channel_data *channel = file->private_data;
|
||||||
struct cosa_data *cosa = channel->cosa;
|
struct cosa_data *cosa;
|
||||||
return cosa_ioctl_common(cosa, channel, cmd, arg);
|
long ret;
|
||||||
|
|
||||||
|
lock_kernel();
|
||||||
|
cosa = channel->cosa;
|
||||||
|
ret = cosa_ioctl_common(cosa, channel, cmd, arg);
|
||||||
|
unlock_kernel();
|
||||||
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user