V4L/DVB (9325): ivtv: switch to unlocked_ioctl.
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
This commit is contained in:
parent
d5fbf32f38
commit
09882f0044
3 changed files with 9 additions and 11 deletions
|
@ -1756,12 +1756,12 @@ static int ivtv_default(struct file *file, void *fh, int cmd, void *arg)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int ivtv_serialized_ioctl(struct ivtv *itv, struct inode *inode, struct file *filp,
|
static long ivtv_serialized_ioctl(struct ivtv *itv, struct file *filp,
|
||||||
unsigned int cmd, unsigned long arg)
|
unsigned int cmd, unsigned long arg)
|
||||||
{
|
{
|
||||||
struct video_device *vfd = video_devdata(filp);
|
struct video_device *vfd = video_devdata(filp);
|
||||||
struct ivtv_open_id *id = (struct ivtv_open_id *)filp->private_data;
|
struct ivtv_open_id *id = (struct ivtv_open_id *)filp->private_data;
|
||||||
int ret;
|
long ret;
|
||||||
|
|
||||||
/* Filter dvb ioctls that cannot be handled by the v4l ioctl framework */
|
/* Filter dvb ioctls that cannot be handled by the v4l ioctl framework */
|
||||||
switch (cmd) {
|
switch (cmd) {
|
||||||
|
@ -1830,20 +1830,19 @@ static int ivtv_serialized_ioctl(struct ivtv *itv, struct inode *inode, struct f
|
||||||
|
|
||||||
if (ivtv_debug & IVTV_DBGFLG_IOCTL)
|
if (ivtv_debug & IVTV_DBGFLG_IOCTL)
|
||||||
vfd->debug = V4L2_DEBUG_IOCTL | V4L2_DEBUG_IOCTL_ARG;
|
vfd->debug = V4L2_DEBUG_IOCTL | V4L2_DEBUG_IOCTL_ARG;
|
||||||
ret = video_ioctl2(inode, filp, cmd, arg);
|
ret = video_ioctl2_unlocked(filp, cmd, arg);
|
||||||
vfd->debug = 0;
|
vfd->debug = 0;
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
int ivtv_v4l2_ioctl(struct inode *inode, struct file *filp, unsigned int cmd,
|
long ivtv_v4l2_ioctl(struct file *filp, unsigned int cmd, unsigned long arg)
|
||||||
unsigned long arg)
|
|
||||||
{
|
{
|
||||||
struct ivtv_open_id *id = (struct ivtv_open_id *)filp->private_data;
|
struct ivtv_open_id *id = (struct ivtv_open_id *)filp->private_data;
|
||||||
struct ivtv *itv = id->itv;
|
struct ivtv *itv = id->itv;
|
||||||
int res;
|
long res;
|
||||||
|
|
||||||
mutex_lock(&itv->serialize_lock);
|
mutex_lock(&itv->serialize_lock);
|
||||||
res = ivtv_serialized_ioctl(itv, inode, filp, cmd, arg);
|
res = ivtv_serialized_ioctl(itv, filp, cmd, arg);
|
||||||
mutex_unlock(&itv->serialize_lock);
|
mutex_unlock(&itv->serialize_lock);
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|
|
@ -30,7 +30,6 @@ void ivtv_set_funcs(struct video_device *vdev);
|
||||||
int ivtv_s_std(struct file *file, void *fh, v4l2_std_id *std);
|
int ivtv_s_std(struct file *file, void *fh, v4l2_std_id *std);
|
||||||
int ivtv_s_frequency(struct file *file, void *fh, struct v4l2_frequency *vf);
|
int ivtv_s_frequency(struct file *file, void *fh, struct v4l2_frequency *vf);
|
||||||
int ivtv_s_input(struct file *file, void *fh, unsigned int inp);
|
int ivtv_s_input(struct file *file, void *fh, unsigned int inp);
|
||||||
int ivtv_v4l2_ioctl(struct inode *inode, struct file *filp, unsigned int cmd,
|
long ivtv_v4l2_ioctl(struct file *filp, unsigned int cmd, unsigned long arg);
|
||||||
unsigned long arg);
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -48,7 +48,7 @@ static const struct file_operations ivtv_v4l2_enc_fops = {
|
||||||
.read = ivtv_v4l2_read,
|
.read = ivtv_v4l2_read,
|
||||||
.write = ivtv_v4l2_write,
|
.write = ivtv_v4l2_write,
|
||||||
.open = ivtv_v4l2_open,
|
.open = ivtv_v4l2_open,
|
||||||
.ioctl = ivtv_v4l2_ioctl,
|
.unlocked_ioctl = ivtv_v4l2_ioctl,
|
||||||
.compat_ioctl = v4l_compat_ioctl32,
|
.compat_ioctl = v4l_compat_ioctl32,
|
||||||
.release = ivtv_v4l2_close,
|
.release = ivtv_v4l2_close,
|
||||||
.poll = ivtv_v4l2_enc_poll,
|
.poll = ivtv_v4l2_enc_poll,
|
||||||
|
@ -59,7 +59,7 @@ static const struct file_operations ivtv_v4l2_dec_fops = {
|
||||||
.read = ivtv_v4l2_read,
|
.read = ivtv_v4l2_read,
|
||||||
.write = ivtv_v4l2_write,
|
.write = ivtv_v4l2_write,
|
||||||
.open = ivtv_v4l2_open,
|
.open = ivtv_v4l2_open,
|
||||||
.ioctl = ivtv_v4l2_ioctl,
|
.unlocked_ioctl = ivtv_v4l2_ioctl,
|
||||||
.compat_ioctl = v4l_compat_ioctl32,
|
.compat_ioctl = v4l_compat_ioctl32,
|
||||||
.release = ivtv_v4l2_close,
|
.release = ivtv_v4l2_close,
|
||||||
.poll = ivtv_v4l2_dec_poll,
|
.poll = ivtv_v4l2_dec_poll,
|
||||||
|
|
Loading…
Add table
Reference in a new issue