Преглед на файлове

V4L/DVB (9324): v4l2: add video_ioctl2_unlocked for unlocked_ioctl support.

Based on an older patch from Sakari Ailus.

Cc: Sakari Ailus <sakari.ailus@nokia.com>
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Hans Verkuil преди 16 години
родител
ревизия
d5fbf32f38
променени са 2 файла, в които са добавени 12 реда и са изтрити 3 реда
  1. 9 2
      drivers/media/video/v4l2-ioctl.c
  2. 3 1
      include/media/v4l2-ioctl.h

+ 9 - 2
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);

+ 3 - 1
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,