mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Frederic Weisbecker <fweisbec@gmail.com>
To: LKML <linux-kernel@vger.kernel.org>
Cc: LKML <linux-kernel@vger.kernel.org>,
	Frederic Weisbecker <fweisbec@gmail.com>,
	Laurent Pinchart <laurent.pinchart@ideasonboard.com>,
	Hans Verkuil <hverkuil@xs4all.nl>, Arnd Bergmann <arnd@arndb.de>,
	John Kacur <jkacur@redhat.com>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Jan Blunck <jblunck@gmail.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Mauro Carvalho Chehab <mchehab@infradead.org>,
	Linux Media Mailing List <linux-media@vger.kernel.org>
Subject: [PATCH 1/5] v4l: Pushdown bkl into video_ioctl2
Date: Thu, 29 Apr 2010 05:42:40 +0200	[thread overview]
Message-ID: <1272512564-14683-2-git-send-regression-fweisbec@gmail.com> (raw)
In-Reply-To: <alpine.LFD.2.00.1004280750330.3739@i5.linux-foundation.org>

video_ioctl2 is a generic ioctl helper used by a lot of drivers.
Most of them put it as their bkl'ed .ioctl callback, then let's
pushdown the bkl inside but also provide an unlocked version for
those that use it as an unlocked ioctl.

Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
---
 drivers/media/video/v4l2-ioctl.c |   17 +++++++++++++++--
 include/media/v4l2-ioctl.h       |    2 ++
 2 files changed, 17 insertions(+), 2 deletions(-)

diff --git a/drivers/media/video/v4l2-ioctl.c b/drivers/media/video/v4l2-ioctl.c
index 3da8d8f..0ff2595 100644
--- a/drivers/media/video/v4l2-ioctl.c
+++ b/drivers/media/video/v4l2-ioctl.c
@@ -16,6 +16,7 @@
 #include <linux/slab.h>
 #include <linux/types.h>
 #include <linux/kernel.h>
+#include <linux/smp_lock.h>
 
 #define __OLD_VIDIOC_ /* To allow fixing old calls */
 #include <linux/videodev.h>
@@ -2007,8 +2008,8 @@ static unsigned long cmd_input_size(unsigned int cmd)
 	}
 }
 
-long video_ioctl2(struct file *file,
-	       unsigned int cmd, unsigned long arg)
+long video_ioctl2_unlocked(struct file *file,
+			   unsigned int cmd, unsigned long arg)
 {
 	char	sbuf[128];
 	void    *mbuf = NULL;
@@ -2102,4 +2103,16 @@ out:
 	kfree(mbuf);
 	return err;
 }
+EXPORT_SYMBOL(video_ioctl2_unlocked);
+
+long video_ioctl2(struct file *file, unsigned int cmd, unsigned long arg)
+{
+	long ret;
+
+	lock_kernel();
+	ret = video_ioctl2_unlocked(file, cmd, arg);
+	unlock_kernel();
+
+	return ret;
+}
 EXPORT_SYMBOL(video_ioctl2);
diff --git a/include/media/v4l2-ioctl.h b/include/media/v4l2-ioctl.h
index e8ba0f2..08b3e42 100644
--- a/include/media/v4l2-ioctl.h
+++ b/include/media/v4l2-ioctl.h
@@ -316,5 +316,7 @@ extern long video_usercopy(struct file *file, unsigned int cmd,
 /* Standard handlers for V4L ioctl's */
 extern long video_ioctl2(struct file *file,
 			unsigned int cmd, unsigned long arg);
+extern long video_ioctl2_unlocked(struct file *file,
+				  unsigned int cmd, unsigned long arg);
 
 #endif /* _V4L2_IOCTL_H */
-- 
1.6.2.3


  parent reply	other threads:[~2010-04-29  3:42 UTC|newest]

Thread overview: 63+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-04-27  9:18 [PATCH 00/10] bkl: pushdowns from Arnd, and compile fixes John Kacur
2010-04-27  9:18 ` [PATCH 01/10] dvb: push down BKL into ioctl functions John Kacur
2010-04-27  9:18 ` [PATCH 02/10] scsi: " John Kacur
2010-04-27  9:18 ` [PATCH 03/10] bkl: Fix up compile problems in megaraid from bkl push-down John Kacur
2010-04-27  9:18 ` [PATCH 04/10] bkl: Fix missing inode tw_chrdev_ioctl due to bkl pushdown John Kacur
2010-04-27  9:18 ` [PATCH 05/10] bkl: Fix missing inode in twl_chrdev_ioctl resulting from " John Kacur
2010-04-27  9:18 ` [PATCH 06/10] isdn: push down BKL into ioctl functions John Kacur
2010-04-27  9:18 ` [PATCH 07/10] staging: " John Kacur
2010-04-27  9:18 ` [PATCH 08/10] v4l: always use unlocked_ioctl John Kacur
2010-04-27  9:18 ` [PATCH 09/10] drivers: push down BKL into various drivers John Kacur
2010-04-27  9:18 ` [PATCH 10/10] bkl: Fix-up compile problems as a result of the bkl-pushdown John Kacur
2010-04-27 11:17   ` Arnd Bergmann
2010-04-27 11:54     ` John Kacur
2010-04-27 13:03       ` Arnd Bergmann
2010-04-28 12:24         ` Mauro Carvalho Chehab
2010-04-28 12:37           ` Hans Verkuil
2010-04-28 13:02             ` Laurent Pinchart
2010-04-28 14:46               ` Mauro Carvalho Chehab
2010-04-28 14:55         ` Linus Torvalds
2010-04-28 21:52           ` Frederic Weisbecker
2010-04-29  3:42           ` [PATCH 0/5] Pushdown bkl from v4l ioctls Frederic Weisbecker
2010-04-29  6:44             ` Hans Verkuil
2010-04-29  7:10               ` Laurent Pinchart
2010-04-29  7:38                 ` Arnd Bergmann
2010-05-01  9:55                 ` Hans Verkuil
2010-05-01 10:47                   ` Arnd Bergmann
2010-05-01 14:58                   ` Frederic Weisbecker
2010-05-01 11:11               ` Alan Cox
2010-04-29  3:42           ` Frederic Weisbecker [this message]
2010-04-29  3:42           ` [PATCH 2/5] v4l: Use video_ioctl2_unlocked from drivers that don't want the bkl Frederic Weisbecker
2010-04-29  3:42           ` [PATCH 3/5] v4l: Change users of video_ioctl2 to use unlocked_ioctl Frederic Weisbecker
2010-04-29  3:42           ` [PATCH 4/5] v4l: Pushdown bkl to drivers that implement their own ioctl Frederic Weisbecker
2010-04-29  3:42           ` [PATCH 5/5] v4l: Remove struct v4l2_file_operations::ioctl Frederic Weisbecker
2010-04-27 11:31 ` [PATCH 00/10] bkl: pushdowns from Arnd, and compile fixes Arnd Bergmann
2010-04-27 12:19   ` John Kacur
2010-04-27 12:41     ` Frederic Weisbecker
2010-04-27 14:24     ` [PATCH 0/6] BKL pushdown into ioctl, continued Arnd Bergmann
2010-04-27 14:24     ` [PATCH 1/7] logfs: push down BKL into ioctl function Arnd Bergmann
2010-04-27 14:32       ` Arnd Bergmann
2010-04-27 14:58       ` Jörn Engel
2010-04-27 15:05         ` Arnd Bergmann
2010-04-27 15:09           ` Jörn Engel
2010-04-27 15:27             ` John Kacur
2010-04-27 15:32               ` Jörn Engel
2010-04-27 15:38                 ` Arnd Bergmann
2010-04-27 20:12                   ` Frederic Weisbecker
2010-04-27 20:30                     ` [PATCH] logfs: kill BKL Arnd Bergmann
2010-05-19 12:51                       ` Frederic Weisbecker
2010-04-27 15:36               ` [PATCH 1/7] logfs: push down BKL into ioctl function Linus Torvalds
2010-04-27 16:29                 ` John Kacur
2010-04-27 19:59       ` Frederic Weisbecker
2010-04-27 14:24     ` [PATCH 2/7] hfsplus: " Arnd Bergmann
2010-04-27 14:24     ` [PATCH 3/7] cris: push down BKL into some device drivers Arnd Bergmann
2010-04-27 17:22       ` Frederic Weisbecker
2010-04-30  7:53       ` Jesper Nilsson
2010-05-17  2:51         ` Frederic Weisbecker
2010-04-27 14:24     ` [PATCH 4/7] sn_hwperf: kill BKL usage Arnd Bergmann
2010-04-27 14:24     ` [PATCH 5/7] um/mmapper: remove " Arnd Bergmann
2010-04-27 14:24     ` [PATCH 6/7] coda/psdev: remove BKL from ioctl function Arnd Bergmann
2010-04-27 14:24     ` [PATCH 7/7] smbfs: push down BKL into " Arnd Bergmann
2010-04-27 12:40   ` [PATCH 00/10] bkl: pushdowns from Arnd, and compile fixes Frederic Weisbecker
2010-04-27 12:51   ` Geert Uytterhoeven
2010-04-28 21:18 ` Frederic Weisbecker

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1272512564-14683-2-git-send-regression-fweisbec@gmail.com \
    --to=fweisbec@gmail.com \
    --cc=arnd@arndb.de \
    --cc=hverkuil@xs4all.nl \
    --cc=jblunck@gmail.com \
    --cc=jkacur@redhat.com \
    --cc=laurent.pinchart@ideasonboard.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=mchehab@infradead.org \
    --cc=tglx@linutronix.de \
    --cc=torvalds@linux-foundation.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®