diff options
author | Hans Verkuil <hverkuil@xs4all.nl> | 2008-10-18 12:42:24 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2008-10-21 12:31:28 -0400 |
commit | 09882f0044b7cf6e506c82a5182ad768ebb660f2 (patch) | |
tree | 208d75bd3fa03ba4d950eb5f67d1d31d42903852 /drivers/media/video/ivtv | |
parent | d5fbf32f381ad841d9d9537aa1b6f74796703361 (diff) |
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>
Diffstat (limited to 'drivers/media/video/ivtv')
-rw-r--r-- | drivers/media/video/ivtv/ivtv-ioctl.c | 13 | ||||
-rw-r--r-- | drivers/media/video/ivtv/ivtv-ioctl.h | 3 | ||||
-rw-r--r-- | drivers/media/video/ivtv/ivtv-streams.c | 4 |
3 files changed, 9 insertions, 11 deletions
diff --git a/drivers/media/video/ivtv/ivtv-ioctl.c b/drivers/media/video/ivtv/ivtv-ioctl.c index 208fb54842f2..09a75abcb478 100644 --- a/drivers/media/video/ivtv/ivtv-ioctl.c +++ b/drivers/media/video/ivtv/ivtv-ioctl.c | |||
@@ -1756,12 +1756,12 @@ static int ivtv_default(struct file *file, void *fh, int cmd, void *arg) | |||
1756 | return 0; | 1756 | return 0; |
1757 | } | 1757 | } |
1758 | 1758 | ||
1759 | static int ivtv_serialized_ioctl(struct ivtv *itv, struct inode *inode, struct file *filp, | 1759 | static long ivtv_serialized_ioctl(struct ivtv *itv, struct file *filp, |
1760 | unsigned int cmd, unsigned long arg) | 1760 | unsigned int cmd, unsigned long arg) |
1761 | { | 1761 | { |
1762 | struct video_device *vfd = video_devdata(filp); | 1762 | struct video_device *vfd = video_devdata(filp); |
1763 | struct ivtv_open_id *id = (struct ivtv_open_id *)filp->private_data; | 1763 | struct ivtv_open_id *id = (struct ivtv_open_id *)filp->private_data; |
1764 | int ret; | 1764 | long ret; |
1765 | 1765 | ||
1766 | /* Filter dvb ioctls that cannot be handled by the v4l ioctl framework */ | 1766 | /* Filter dvb ioctls that cannot be handled by the v4l ioctl framework */ |
1767 | switch (cmd) { | 1767 | switch (cmd) { |
@@ -1830,20 +1830,19 @@ static int ivtv_serialized_ioctl(struct ivtv *itv, struct inode *inode, struct f | |||
1830 | 1830 | ||
1831 | if (ivtv_debug & IVTV_DBGFLG_IOCTL) | 1831 | if (ivtv_debug & IVTV_DBGFLG_IOCTL) |
1832 | vfd->debug = V4L2_DEBUG_IOCTL | V4L2_DEBUG_IOCTL_ARG; | 1832 | vfd->debug = V4L2_DEBUG_IOCTL | V4L2_DEBUG_IOCTL_ARG; |
1833 | ret = video_ioctl2(inode, filp, cmd, arg); | 1833 | ret = video_ioctl2_unlocked(filp, cmd, arg); |
1834 | vfd->debug = 0; | 1834 | vfd->debug = 0; |
1835 | return ret; | 1835 | return ret; |
1836 | } | 1836 | } |
1837 | 1837 | ||
1838 | int ivtv_v4l2_ioctl(struct inode *inode, struct file *filp, unsigned int cmd, | 1838 | long ivtv_v4l2_ioctl(struct file *filp, unsigned int cmd, unsigned long arg) |
1839 | unsigned long arg) | ||
1840 | { | 1839 | { |
1841 | struct ivtv_open_id *id = (struct ivtv_open_id *)filp->private_data; | 1840 | struct ivtv_open_id *id = (struct ivtv_open_id *)filp->private_data; |
1842 | struct ivtv *itv = id->itv; | 1841 | struct ivtv *itv = id->itv; |
1843 | int res; | 1842 | long res; |
1844 | 1843 | ||
1845 | mutex_lock(&itv->serialize_lock); | 1844 | mutex_lock(&itv->serialize_lock); |
1846 | res = ivtv_serialized_ioctl(itv, inode, filp, cmd, arg); | 1845 | res = ivtv_serialized_ioctl(itv, filp, cmd, arg); |
1847 | mutex_unlock(&itv->serialize_lock); | 1846 | mutex_unlock(&itv->serialize_lock); |
1848 | return res; | 1847 | return res; |
1849 | } | 1848 | } |
diff --git a/drivers/media/video/ivtv/ivtv-ioctl.h b/drivers/media/video/ivtv/ivtv-ioctl.h index 70188588b4f4..58f003412afd 100644 --- a/drivers/media/video/ivtv/ivtv-ioctl.h +++ b/drivers/media/video/ivtv/ivtv-ioctl.h | |||
@@ -30,7 +30,6 @@ void ivtv_set_funcs(struct video_device *vdev); | |||
30 | int ivtv_s_std(struct file *file, void *fh, v4l2_std_id *std); | 30 | int ivtv_s_std(struct file *file, void *fh, v4l2_std_id *std); |
31 | int ivtv_s_frequency(struct file *file, void *fh, struct v4l2_frequency *vf); | 31 | int ivtv_s_frequency(struct file *file, void *fh, struct v4l2_frequency *vf); |
32 | int ivtv_s_input(struct file *file, void *fh, unsigned int inp); | 32 | int ivtv_s_input(struct file *file, void *fh, unsigned int inp); |
33 | int ivtv_v4l2_ioctl(struct inode *inode, struct file *filp, unsigned int cmd, | 33 | long ivtv_v4l2_ioctl(struct file *filp, unsigned int cmd, unsigned long arg); |
34 | unsigned long arg); | ||
35 | 34 | ||
36 | #endif | 35 | #endif |
diff --git a/drivers/media/video/ivtv/ivtv-streams.c b/drivers/media/video/ivtv/ivtv-streams.c index 5bbf31e39304..9b7aa79eb267 100644 --- a/drivers/media/video/ivtv/ivtv-streams.c +++ b/drivers/media/video/ivtv/ivtv-streams.c | |||
@@ -48,7 +48,7 @@ static const struct file_operations ivtv_v4l2_enc_fops = { | |||
48 | .read = ivtv_v4l2_read, | 48 | .read = ivtv_v4l2_read, |
49 | .write = ivtv_v4l2_write, | 49 | .write = ivtv_v4l2_write, |
50 | .open = ivtv_v4l2_open, | 50 | .open = ivtv_v4l2_open, |
51 | .ioctl = ivtv_v4l2_ioctl, | 51 | .unlocked_ioctl = ivtv_v4l2_ioctl, |
52 | .compat_ioctl = v4l_compat_ioctl32, | 52 | .compat_ioctl = v4l_compat_ioctl32, |
53 | .release = ivtv_v4l2_close, | 53 | .release = ivtv_v4l2_close, |
54 | .poll = ivtv_v4l2_enc_poll, | 54 | .poll = ivtv_v4l2_enc_poll, |
@@ -59,7 +59,7 @@ static const struct file_operations ivtv_v4l2_dec_fops = { | |||
59 | .read = ivtv_v4l2_read, | 59 | .read = ivtv_v4l2_read, |
60 | .write = ivtv_v4l2_write, | 60 | .write = ivtv_v4l2_write, |
61 | .open = ivtv_v4l2_open, | 61 | .open = ivtv_v4l2_open, |
62 | .ioctl = ivtv_v4l2_ioctl, | 62 | .unlocked_ioctl = ivtv_v4l2_ioctl, |
63 | .compat_ioctl = v4l_compat_ioctl32, | 63 | .compat_ioctl = v4l_compat_ioctl32, |
64 | .release = ivtv_v4l2_close, | 64 | .release = ivtv_v4l2_close, |
65 | .poll = ivtv_v4l2_dec_poll, | 65 | .poll = ivtv_v4l2_dec_poll, |