diff options
author | Laurent Pinchart <laurent.pinchart@ideasonboard.com> | 2009-12-09 06:40:10 -0500 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2011-03-22 03:53:19 -0400 |
commit | 2c0ab67be1b4197a4effac89bb0604832e38be8d (patch) | |
tree | 033b1d2c6ae25e05f1f46f3c2e7bdb504c359ad3 /include/media | |
parent | 95db3a60e0652a52df145aacade1a88c5acef659 (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.h | 7 |
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 | ||
56 | struct video_device | 58 | struct 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 | ||