[media] media: use media_gobj inside links
Just like entities and pads, links also need to have unique
Object IDs along a given media controller.
So, let's add a media_gobj inside it and initialize
the object then a new link is created.
Acked-by: Hans Verkuil <hans.verkuil@cisco.com>
Tested-by: Javier Martinez Canillas <javier@osg.samsung.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
diff --git a/drivers/media/media-entity.c b/drivers/media/media-entity.c
index 2d94c85..63fd293 100644
--- a/drivers/media/media-entity.c
+++ b/drivers/media/media-entity.c
@@ -51,6 +51,9 @@
case MEDIA_GRAPH_PAD:
gobj->id = media_gobj_gen_id(type, ++mdev->pad_id);
break;
+ case MEDIA_GRAPH_LINK:
+ gobj->id = media_gobj_gen_id(type, ++mdev->link_id);
+ break;
}
}
@@ -491,6 +494,9 @@
link->sink = &sink->pads[sink_pad];
link->flags = flags;
+ /* Initialize graph object embedded at the new link */
+ media_gobj_init(source->parent, MEDIA_GRAPH_LINK, &link->graph_obj);
+
/* Create the backlink. Backlinks are used to help graph traversal and
* are not reported to userspace.
*/
@@ -504,6 +510,9 @@
backlink->sink = &sink->pads[sink_pad];
backlink->flags = flags;
+ /* Initialize graph object embedded at the new link */
+ media_gobj_init(sink->parent, MEDIA_GRAPH_LINK, &backlink->graph_obj);
+
link->reverse = backlink;
backlink->reverse = link;