[patch 1/2] v4l2-dev.c: return 0 for NULL open and release callbacks

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello, all

This is two patches that removes empty open and release functions in
pci/isa radio drivers. To handle that we change v4l2-dev.c file.

I'm not sure, but it's probably that small note about it should be added
in docs. If i did something wrong, please correct.

---
From: Hans Verkuil <hverkuil@xxxxxxxxx>

Patch allows v4l2_open and v4l2_release functions return 0 if open and
release driver callbacks set to NULL. This will be used in radio
drivers.

Priority: normal

Signed-off-by: Hans Verkuil <hverkuil@xxxxxxxxx>
Signed-off-by: Alexey Klimov <klimov.linux@xxxxxxxxx>

--
diff -r df7a51ffa2ba linux/drivers/media/video/v4l2-dev.c
--- a/linux/drivers/media/video/v4l2-dev.c	Sun Mar 29 05:58:58 2009 -0300
+++ b/linux/drivers/media/video/v4l2-dev.c	Mon Mar 30 01:13:59 2009 +0400
@@ -267,7 +267,7 @@
 static int v4l2_open(struct inode *inode, struct file *filp)
 {
 	struct video_device *vdev;
-	int ret;
+	int ret = 0;
 
 	/* Check if the video device is available */
 	mutex_lock(&videodev_lock);
@@ -281,7 +281,9 @@
 	/* and increase the device refcount */
 	video_get(vdev);
 	mutex_unlock(&videodev_lock);
-	ret = vdev->fops->open(filp);
+	if(vdev->fops->open)
+		ret = vdev->fops->open(filp);
+
 	/* decrease the refcount in case of an error */
 	if (ret)
 		video_put(vdev);
@@ -292,7 +294,10 @@
 static int v4l2_release(struct inode *inode, struct file *filp)
 {
 	struct video_device *vdev = video_devdata(filp);
-	int ret = vdev->fops->release(filp);
+	int ret = 0;
+	
+	if(vdev->fops->release)
+		vdev->fops->release(filp);
 
 	/* decrease the refcount unconditionally since the release()
 	   return value is ignored. */


-- 
Best regards, Klimov Alexey

--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux