diff --git a/drivers/media/video/v4l2-dev.c b/drivers/media/video/v4l2-dev.c index 66bd74b58b068aaeb63e8c06c8ba281252a0f9d9..fda48a2efda69d62fc3a343c0ae0f9a8cfe49208 100644 --- a/drivers/media/video/v4l2-dev.c +++ b/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); diff --git a/include/media/v4l2-dev.h b/include/media/v4l2-dev.h index e472b5d07a55b244c9aafdb02cd626d8d17f6666..30855077be44071fbd5934c7c825e8bce062dcc9 100644 --- a/include/media/v4l2-dev.h +++ b/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. */