V4L/DVB (8784): v4l2-dev: make the video_device's release callback mandatory
authorHans Verkuil <hverkuil@xs4all.nl>
Sat, 23 Aug 2008 09:27:59 +0000 (06:27 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Sun, 12 Oct 2008 11:36:54 +0000 (09:36 -0200)
Now that all drivers set the release callback in the video_device
struct we can put in a BUG_ON in video_register_device to ensure that
the callback is always there.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/media/video/v4l2-dev.c

index fda48a2efda69d62fc3a343c0ae0f9a8cfe49208..ff219df4b72596b081cd040baa93375301f834e5 100644 (file)
@@ -84,11 +84,6 @@ static void video_release(struct device *cd)
 {
        struct video_device *vfd = container_of(cd, struct video_device, dev);
 
-#if 1
-       /* needed until all drivers are fixed */
-       if (!vfd->release)
-               return;
-#endif
        vfd->release(vfd);
 }
 
@@ -233,8 +228,8 @@ int video_register_device_index(struct video_device *vfd, int type, int nr,
        int ret;
        char *name_base;
 
-       if (vfd == NULL)
-               return -EINVAL;
+       /* the release callback MUST be present */
+       BUG_ON(!vfd->release);
 
        if (vfd == NULL)
                return -EINVAL;
@@ -312,13 +307,6 @@ int video_register_device_index(struct video_device *vfd, int type, int nr,
                goto fail_minor;
        }
 
-#if 1
-       /* needed until all drivers are fixed */
-       if (!vfd->release)
-               printk(KERN_WARNING "videodev: \"%s\" has no release callback. "
-                      "Please fix your driver for proper sysfs support, see "
-                      "http://lwn.net/Articles/36850/\n", vfd->name);
-#endif
        return 0;
 
 fail_minor: