diff options
author | Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> | 2016-02-29 06:45:44 -0500 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@osg.samsung.com> | 2016-04-13 16:20:22 -0400 |
commit | b76a2a8cb6f6d9da711305d805156b40c698e94f (patch) | |
tree | 7be5f0de33da38490195ce34e7eadec187c1d087 /drivers/media/v4l2-core/v4l2-dev.c | |
parent | 1d260123cb5c88574de9b5147eddc243f83b77a8 (diff) |
[media] media: Add obj_type field to struct media_entity
Code that processes media entities can require knowledge of the
structure type that embeds a particular media entity instance in order
to cast the entity to the proper object type. This needs is shown by the
presence of the is_media_entity_v4l2_io and is_media_entity_v4l2_subdev
functions.
The implementation of those two functions relies on the entity function
field, which is both a wrong and an inefficient design, without even
mentioning the maintenance issue involved in updating the functions
every time a new entity function is added. Fix this by adding add an
obj_type field to the media entity structure to carry the information.
Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Acked-by: Hans Verkuil <hans.verkuil@cisco.com>
Acked-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Diffstat (limited to 'drivers/media/v4l2-core/v4l2-dev.c')
-rw-r--r-- | drivers/media/v4l2-core/v4l2-dev.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/media/v4l2-core/v4l2-dev.c b/drivers/media/v4l2-core/v4l2-dev.c index d8e5994cccf1..70b559d7ca80 100644 --- a/drivers/media/v4l2-core/v4l2-dev.c +++ b/drivers/media/v4l2-core/v4l2-dev.c | |||
@@ -735,6 +735,7 @@ static int video_register_media_controller(struct video_device *vdev, int type) | |||
735 | if (!vdev->v4l2_dev->mdev) | 735 | if (!vdev->v4l2_dev->mdev) |
736 | return 0; | 736 | return 0; |
737 | 737 | ||
738 | vdev->entity.obj_type = MEDIA_ENTITY_TYPE_VIDEO_DEVICE; | ||
738 | vdev->entity.function = MEDIA_ENT_F_UNKNOWN; | 739 | vdev->entity.function = MEDIA_ENT_F_UNKNOWN; |
739 | 740 | ||
740 | switch (type) { | 741 | switch (type) { |