summaryrefslogtreecommitdiff
path: root/include/media
diff options
context:
space:
mode:
authorMauro Carvalho Chehab <mchehab@osg.samsung.com>2015-08-14 18:54:36 +0300
committerMauro Carvalho Chehab <mchehab@osg.samsung.com>2016-01-11 17:18:42 +0300
commit6b6a42780597028135f82c96e42c6d2bcd83fbae (patch)
tree36121532964b98be43ad2afe041d1cd0a54a63eb /include/media
parent18710dc67a433ed2c3ecaaffefd8e34502e53262 (diff)
downloadlinux-6b6a42780597028135f82c96e42c6d2bcd83fbae.tar.xz
[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>
Diffstat (limited to 'include/media')
-rw-r--r--include/media/media-device.h2
-rw-r--r--include/media/media-entity.h3
2 files changed, 5 insertions, 0 deletions
diff --git a/include/media/media-device.h b/include/media/media-device.h
index 9493721f630e..05414e351f8e 100644
--- a/include/media/media-device.h
+++ b/include/media/media-device.h
@@ -43,6 +43,7 @@ struct device;
* @driver_version: Device driver version
* @entity_id: Unique ID used on the last entity registered
* @pad_id: Unique ID used on the last pad registered
+ * @link_id: Unique ID used on the last link registered
* @entities: List of registered entities
* @lock: Entities list lock
* @graph_mutex: Entities graph operation lock
@@ -71,6 +72,7 @@ struct media_device {
u32 entity_id;
u32 pad_id;
+ u32 link_id;
struct list_head entities;
diff --git a/include/media/media-entity.h b/include/media/media-entity.h
index b91c78d34f79..bf93c90e9218 100644
--- a/include/media/media-entity.h
+++ b/include/media/media-entity.h
@@ -35,10 +35,12 @@
*
* @MEDIA_GRAPH_ENTITY: Identify a media entity
* @MEDIA_GRAPH_PAD: Identify a media pad
+ * @MEDIA_GRAPH_LINK: Identify a media link
*/
enum media_gobj_type {
MEDIA_GRAPH_ENTITY,
MEDIA_GRAPH_PAD,
+ MEDIA_GRAPH_LINK,
};
#define MEDIA_BITS_PER_TYPE 8
@@ -67,6 +69,7 @@ struct media_pipeline {
};
struct media_link {
+ struct media_gobj graph_obj;
struct media_pad *source; /* Source pad */
struct media_pad *sink; /* Sink pad */
struct media_link *reverse; /* Link in the reverse direction */