From d5fbf32f381ad841d9d9537aa1b6f74796703361 Mon Sep 17 00:00:00 2001 From: Hans Verkuil Date: Sat, 18 Oct 2008 13:39:53 -0300 Subject: [PATCH] V4L/DVB (9324): v4l2: add video_ioctl2_unlocked for unlocked_ioctl support. Based on an older patch from Sakari Ailus. Cc: Sakari Ailus Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab --- drivers/media/video/v4l2-ioctl.c | 11 +++++++++-- include/media/v4l2-ioctl.h | 4 +++- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/drivers/media/video/v4l2-ioctl.c b/drivers/media/video/v4l2-ioctl.c index 155c9d77a463..0417844d4079 100644 --- a/drivers/media/video/v4l2-ioctl.c +++ b/drivers/media/video/v4l2-ioctl.c @@ -630,8 +630,8 @@ static int __video_do_ioctl(struct inode *inode, struct file *file, { struct video_device *vfd = video_devdata(file); const struct v4l2_ioctl_ops *ops = vfd->ioctl_ops; - void *fh = file->private_data; - int ret = -EINVAL; + void *fh = file->private_data; + int ret = -EINVAL; if ((vfd->debug & V4L2_DEBUG_IOCTL) && !(vfd->debug & V4L2_DEBUG_IOCTL_ARG)) { @@ -1861,3 +1861,10 @@ out: return err; } EXPORT_SYMBOL(video_ioctl2); + +long video_ioctl2_unlocked(struct file *file, + unsigned int cmd, unsigned long arg) +{ + return video_ioctl2(file->f_path.dentry->d_inode, file, cmd, arg); +} +EXPORT_SYMBOL(video_ioctl2_unlocked); diff --git a/include/media/v4l2-ioctl.h b/include/media/v4l2-ioctl.h index 0bef03add796..3e11dfe38dc3 100644 --- a/include/media/v4l2-ioctl.h +++ b/include/media/v4l2-ioctl.h @@ -285,7 +285,9 @@ 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); + 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, -- 2.39.5