aboutsummaryrefslogtreecommitdiffstats
path: root/include/media
diff options
context:
space:
mode:
authorLaurent Pinchart <laurent.pinchart@ideasonboard.com>2009-12-09 06:40:10 -0500
committerMauro Carvalho Chehab <mchehab@redhat.com>2011-03-22 03:53:19 -0400
commit2c0ab67be1b4197a4effac89bb0604832e38be8d (patch)
tree033b1d2c6ae25e05f1f46f3c2e7bdb504c359ad3 /include/media
parent95db3a60e0652a52df145aacade1a88c5acef659 (diff)
[media] v4l: Make video_device inherit from media_entity
V4L2 devices are media entities. As such they need to inherit from (include) the media_entity structure. When registering/unregistering the device, the media entity is automatically registered/unregistered. The entity is acquired on device open and released on device close. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Sakari Ailus <sakari.ailus@iki.fi> Acked-by: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'include/media')
-rw-r--r--include/media/v4l2-dev.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/include/media/v4l2-dev.h b/include/media/v4l2-dev.h
index 4fe6831b1851..51b2c515f687 100644
--- a/include/media/v4l2-dev.h
+++ b/include/media/v4l2-dev.h
@@ -16,6 +16,8 @@
16#include <linux/mutex.h> 16#include <linux/mutex.h>
17#include <linux/videodev2.h> 17#include <linux/videodev2.h>
18 18
19#include <media/media-entity.h>
20
19#define VIDEO_MAJOR 81 21#define VIDEO_MAJOR 81
20 22
21#define VFL_TYPE_GRABBER 0 23#define VFL_TYPE_GRABBER 0
@@ -55,6 +57,9 @@ struct v4l2_file_operations {
55 57
56struct video_device 58struct video_device
57{ 59{
60#if defined(CONFIG_MEDIA_CONTROLLER)
61 struct media_entity entity;
62#endif
58 /* device ops */ 63 /* device ops */
59 const struct v4l2_file_operations *fops; 64 const struct v4l2_file_operations *fops;
60 65
@@ -100,6 +105,8 @@ struct video_device
100 struct mutex *lock; 105 struct mutex *lock;
101}; 106};
102 107
108#define media_entity_to_video_device(entity) \
109 container_of(entity, struct video_device, entity)
103/* dev to video-device */ 110/* dev to video-device */
104#define to_video_device(cd) container_of(cd, struct video_device, dev) 111#define to_video_device(cd) container_of(cd, struct video_device, dev)
105 112