Ver código fonte

V4L/DVB (8782): v4l2-dev: add video_device_release_empty

Add a second release function: video_device_release_empty
It can be used by drivers that have statically allocated
video_device structs.

Its use usually, but not always, indicates laziness on the
part of the driver programmer.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Hans Verkuil 16 anos atrás
pai
commit
f9e86b5e9d
2 arquivos alterados com 12 adições e 0 exclusões
  1. 7 0
      drivers/media/video/v4l2-dev.c
  2. 5 0
      include/media/v4l2-dev.h

+ 7 - 0
drivers/media/video/v4l2-dev.c

@@ -73,6 +73,13 @@ void video_device_release(struct video_device *vfd)
 }
 EXPORT_SYMBOL(video_device_release);
 
+void video_device_release_empty(struct video_device *vfd)
+{
+	/* Do nothing */
+	/* Only valid when the video_device struct is a static. */
+}
+EXPORT_SYMBOL(video_device_release_empty);
+
 static void video_release(struct device *cd)
 {
 	struct video_device *vfd = container_of(cd, struct video_device, dev);

+ 5 - 0
include/media/v4l2-dev.h

@@ -91,7 +91,12 @@ void video_unregister_device(struct video_device *);
 /* helper functions to alloc / release struct video_device, the
    later can be used for video_device->release() */
 struct video_device *video_device_alloc(void);
+/* this release function frees the vfd pointer */
 void video_device_release(struct video_device *vfd);
+/* this release function does nothing, use when the video_device is a
+   static global struct. Note that having a static video_device is
+   a dubious construction at best. */
+void video_device_release_empty(struct video_device *vfd);
 
 #ifdef OBSOLETE_DEVDATA /* to be removed soon */
 /* helper functions to access driver private data. */