[staging-next 02/10 V2] staging/easycap: kill EASYCAP_NEEDS_UNLOCKED_IOCTL

Tomas Winkler tomas.winkler at intel.com
Tue Feb 1 11:42:09 UTC 2011


we can kill this option for in-kernel driver

Cc: Mike Thomas <rmthomas at sciolus.org>
Signed-off-by: Tomas Winkler <tomas.winkler at intel.com>
---
V2: fix
-static int easyoss_unlocked ioctl(struct file *file,
+static long easyoss_unlocked_ioctl(struct file *file,
 drivers/staging/easycap/Makefile            |    1 -
 drivers/staging/easycap/easycap.h           |    5 +----
 drivers/staging/easycap/easycap_ioctl.c     |   15 ++-------------
 drivers/staging/easycap/easycap_main.c      |   12 ++----------
 drivers/staging/easycap/easycap_sound_oss.c |   17 ++---------------
 5 files changed, 7 insertions(+), 43 deletions(-)

diff --git a/drivers/staging/easycap/Makefile b/drivers/staging/easycap/Makefile
index a01ca11..987ccb1 100644
--- a/drivers/staging/easycap/Makefile
+++ b/drivers/staging/easycap/Makefile
@@ -12,5 +12,4 @@ ccflags-y := -Wall
 ccflags-y += -DEASYCAP_IS_VIDEODEV_CLIENT
 ccflags-y += -DEASYCAP_NEEDS_V4L2_DEVICE_H
 ccflags-y += -DEASYCAP_NEEDS_V4L2_FOPS
-ccflags-y += -DEASYCAP_NEEDS_UNLOCKED_IOCTL
 
diff --git a/drivers/staging/easycap/easycap.h b/drivers/staging/easycap/easycap.h
index 589f038..47467d5 100644
--- a/drivers/staging/easycap/easycap.h
+++ b/drivers/staging/easycap/easycap.h
@@ -33,7 +33,6 @@
  *                EASYCAP_NEEDS_USBVIDEO_H
  *                EASYCAP_NEEDS_V4L2_DEVICE_H
  *                EASYCAP_NEEDS_V4L2_FOPS
- *                EASYCAP_NEEDS_UNLOCKED_IOCTL
  *                EASYCAP_SILENT
  *
  *  IF REQUIRED THEY MUST BE EXTERNALLY DEFINED, FOR EXAMPLE AS COMPILER
@@ -511,9 +510,7 @@ __s16 oldaudio;
  *  VIDEO FUNCTION PROTOTYPES
  */
 /*^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/
-long easycap_ioctl_noinode(struct file *, unsigned int, unsigned long);
-int easycap_ioctl(struct inode *, struct file *, unsigned int, unsigned long);
-
+long easycap_unlocked_ioctl(struct file *, unsigned int, unsigned long);
 int              easycap_dqbuf(struct easycap *, int);
 int              submit_video_urbs(struct easycap *);
 int              kill_video_urbs(struct easycap *);
diff --git a/drivers/staging/easycap/easycap_ioctl.c b/drivers/staging/easycap/easycap_ioctl.c
index 9671ff1..ee581c4 100644
--- a/drivers/staging/easycap/easycap_ioctl.c
+++ b/drivers/staging/easycap/easycap_ioctl.c
@@ -949,20 +949,9 @@ while (0xFFFFFFFF != easycap_control[i1].id) {
 SAM("WARNING: failed to adjust mute: control not found\n");
 return -ENOENT;
 }
-/*****************************************************************************/
-/*vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/
-#if ((defined(EASYCAP_IS_VIDEODEV_CLIENT)) || \
-	(defined(EASYCAP_NEEDS_UNLOCKED_IOCTL)))
-long
-easycap_ioctl_noinode(struct file *file, unsigned int cmd, unsigned long arg) {
-	return (long)easycap_ioctl(NULL, file, cmd, arg);
-}
-#endif /*EASYCAP_IS_VIDEODEV_CLIENT||EASYCAP_NEEDS_UNLOCKED_IOCTL*/
-/*^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/
 /*---------------------------------------------------------------------------*/
-int
-easycap_ioctl(struct inode *inode, struct file *file,
-					unsigned int cmd, unsigned long arg)
+long easycap_unlocked_ioctl(struct file *file,
+			    unsigned int cmd, unsigned long arg)
 {
 struct easycap *peasycap;
 struct usb_device *p;
diff --git a/drivers/staging/easycap/easycap_main.c b/drivers/staging/easycap/easycap_main.c
index 4944fcb..dce9bd6 100644
--- a/drivers/staging/easycap/easycap_main.c
+++ b/drivers/staging/easycap/easycap_main.c
@@ -3117,11 +3117,7 @@ static const struct file_operations easycap_fops = {
 	.owner		= THIS_MODULE,
 	.open		= easycap_open,
 	.release	= easycap_release,
-#if defined(EASYCAP_NEEDS_UNLOCKED_IOCTL)
-	.unlocked_ioctl	= easycap_ioctl_noinode,
-#else
-	.ioctl		= easycap_ioctl,
-#endif /*EASYCAP_NEEDS_UNLOCKED_IOCTL*/
+	.unlocked_ioctl	= easycap_unlocked_ioctl,
 	.poll		= easycap_poll,
 	.mmap		= easycap_mmap,
 	.llseek		= no_llseek,
@@ -3138,11 +3134,7 @@ static const struct v4l2_file_operations v4l2_fops = {
 	.owner		= THIS_MODULE,
 	.open		= easycap_open_noinode,
 	.release	= easycap_release_noinode,
-#if defined(EASYCAP_NEEDS_UNLOCKED_IOCTL)
-	.unlocked_ioctl	= easycap_ioctl_noinode,
-#else
-	.ioctl		= easycap_ioctl,
-#endif /*EASYCAP_NEEDS_UNLOCKED_IOCTL*/
+	.unlocked_ioctl	= easycap_unlocked_ioctl,
 	.poll		= easycap_poll,
 	.mmap		= easycap_mmap,
 };
diff --git a/drivers/staging/easycap/easycap_sound_oss.c b/drivers/staging/easycap/easycap_sound_oss.c
index d40d1a0..7c98261 100644
--- a/drivers/staging/easycap/easycap_sound_oss.c
+++ b/drivers/staging/easycap/easycap_sound_oss.c
@@ -708,7 +708,7 @@ return szret;
 
 }
 /*---------------------------------------------------------------------------*/
-static int easyoss_ioctl(struct inode *inode, struct file *file,
+static long easyoss_unlocked_ioctl(struct file *file,
 			unsigned int cmd, unsigned long arg)
 {
 struct easycap *peasycap;
@@ -1000,26 +1000,13 @@ default: {
 mutex_unlock(&easycapdc60_dongle[kd].mutex_audio);
 return 0;
 }
-/*vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/
-#if ((defined(EASYCAP_IS_VIDEODEV_CLIENT)) || \
-	(defined(EASYCAP_NEEDS_UNLOCKED_IOCTL)))
-static long easyoss_ioctl_noinode(struct file *file,
-		unsigned int cmd, unsigned long arg)
-{
-	return (long)easyoss_ioctl(NULL, file, cmd, arg);
-}
-#endif /*EASYCAP_IS_VIDEODEV_CLIENT||EASYCAP_NEEDS_UNLOCKED_IOCTL*/
 /*****************************************************************************/
 
 const struct file_operations easyoss_fops = {
 	.owner		= THIS_MODULE,
 	.open		= easyoss_open,
 	.release	= easyoss_release,
-#if defined(EASYCAP_NEEDS_UNLOCKED_IOCTL)
-	.unlocked_ioctl	= easyoss_ioctl_noinode,
-#else
-	.ioctl		= easyoss_ioctl,
-#endif /*EASYCAP_NEEDS_UNLOCKED_IOCTL*/
+	.unlocked_ioctl	= easyoss_unlocked_ioctl,
 	.read		= easyoss_read,
 	.llseek		= no_llseek,
 };
-- 
1.7.3.5

---------------------------------------------------------------------
Intel Israel (74) Limited

This e-mail and any attachments may contain confidential material for
the sole use of the intended recipient(s). Any review or distribution
by others is strictly prohibited. If you are not the intended
recipient, please contact the sender and delete all copies.




More information about the devel mailing list