diff options
author | Mauro Carvalho Chehab <mchehab@redhat.com> | 2008-10-21 11:58:39 -0300 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2008-10-21 14:31:49 -0200 |
commit | 8a522c916d3c3b29a38bd3c8fc3df826d22a9444 (patch) | |
tree | cf7c9752eb6fd9909e6b62dc1c048eed082d4611 | |
parent | b1f88407f3767f924cae1d521e815e568996a4ef (diff) |
V4L/DVB (9331): Remove unused inode parameter from video_ioctl2
inode is never used on video_ioctl2. Remove it and rename the function to
__video_ioctl2. This allows its usage directly as a callback at
fops.unlocked_ioctl.
Since we still need a callback with inode to be used with fops.ioctl,
this patch adds video_ioctl2() that is just a call to __video_ioctl2().
Also, this patch adds some comments about video_ioctl2 and __video_ioctl2
usage at v4l2-ioctl.h.
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
-rw-r--r-- | drivers/media/video/ivtv/ivtv-ioctl.c | 2 | ||||
-rw-r--r-- | drivers/media/video/v4l2-ioctl.c | 12 | ||||
-rw-r--r-- | include/media/v4l2-ioctl.h | 20 |
3 files changed, 22 insertions, 12 deletions
diff --git a/drivers/media/video/ivtv/ivtv-ioctl.c b/drivers/media/video/ivtv/ivtv-ioctl.c index 09a75abcb47..4bae38d21ef 100644 --- a/drivers/media/video/ivtv/ivtv-ioctl.c +++ b/drivers/media/video/ivtv/ivtv-ioctl.c @@ -1830,7 +1830,7 @@ static long ivtv_serialized_ioctl(struct ivtv *itv, struct file *filp, if (ivtv_debug & IVTV_DBGFLG_IOCTL) vfd->debug = V4L2_DEBUG_IOCTL | V4L2_DEBUG_IOCTL_ARG; - ret = video_ioctl2_unlocked(filp, cmd, arg); + ret = __video_ioctl2(filp, cmd, arg); vfd->debug = 0; return ret; } diff --git a/drivers/media/video/v4l2-ioctl.c b/drivers/media/video/v4l2-ioctl.c index 5b3e251b939..710e1a40c42 100644 --- a/drivers/media/video/v4l2-ioctl.c +++ b/drivers/media/video/v4l2-ioctl.c @@ -1768,7 +1768,7 @@ static int __video_do_ioctl(struct file *file, return ret; } -int video_ioctl2(struct inode *inode, struct file *file, +int __video_ioctl2(struct file *file, unsigned int cmd, unsigned long arg) { char sbuf[128]; @@ -1860,11 +1860,11 @@ out: kfree(mbuf); return err; } -EXPORT_SYMBOL(video_ioctl2); +EXPORT_SYMBOL(__video_ioctl2); -long video_ioctl2_unlocked(struct file *file, - unsigned int cmd, unsigned long arg) +int video_ioctl2(struct inode *inode, struct file *file, + unsigned int cmd, unsigned long arg) { - return video_ioctl2(file->f_path.dentry->d_inode, file, cmd, arg); + return __video_ioctl2(file, cmd, arg); } -EXPORT_SYMBOL(video_ioctl2_unlocked); +EXPORT_SYMBOL(video_ioctl2); diff --git a/include/media/v4l2-ioctl.h b/include/media/v4l2-ioctl.h index 7a919433a42..e6ba25b3d7c 100644 --- a/include/media/v4l2-ioctl.h +++ b/include/media/v4l2-ioctl.h @@ -284,15 +284,25 @@ int v4l_compat_translate_ioctl(struct file *file, extern long v4l_compat_ioctl32(struct file *file, unsigned int cmd, unsigned long arg); -extern int video_ioctl2(struct inode *inode, struct file *file, - unsigned int cmd, unsigned long arg); -extern long video_ioctl2_unlocked(struct file *file, - unsigned int cmd, unsigned long arg); - /* Include support for obsoleted stuff */ extern int video_usercopy(struct inode *inode, struct file *file, unsigned int cmd, unsigned long arg, int (*func)(struct inode *inode, struct file *file, unsigned int cmd, void *arg)); +/* Standard handlers for V4L ioctl's */ + +/* This prototype is used on fops.unlocked_ioctl */ +extern int __video_ioctl2(struct file *file, + unsigned int cmd, unsigned long arg); + +/* This prototype is used on fops.ioctl + * Since fops.ioctl enables Kernel Big Lock, it is preferred + * to use __video_ioctl2 instead. + * It should be noticed that there's no lock code inside + * video_ioctl2(). + */ +extern int video_ioctl2(struct inode *inode, struct file *file, + unsigned int cmd, unsigned long arg); + #endif /* _V4L2_IOCTL_H */ |