aboutsummaryrefslogtreecommitdiffstats
path: root/include/media
diff options
context:
space:
mode:
authorMauro Carvalho Chehab <mchehab@osg.samsung.com>2015-08-23 07:51:33 -0300
committerMauro Carvalho Chehab <mchehab@osg.samsung.com>2016-01-11 12:18:53 -0200
commit05bfa9fa1cda91953e1b5975b059542b83c5245c (patch)
tree973b1eaea741c5b5205d263dff055fb02f090dce /include/media
parent[media] media: Use a macro to interate between all interfaces (diff)
downloadlinux-dev-05bfa9fa1cda91953e1b5975b059542b83c5245c.tar.xz
linux-dev-05bfa9fa1cda91953e1b5975b059542b83c5245c.zip
[media] media: move mdev list init to gobj
Let's control the topology changes inside the graph_object. So, move the addition and removal of interfaces/entities from the mdev lists to media_gobj_init() and media_gobj_remove(). The main reason is that mdev should have lists for all object types, as the new MC api will require to store objects in separate places. Acked-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Diffstat (limited to 'include/media')
-rw-r--r--include/media/media-device.h4
-rw-r--r--include/media/media-entity.h3
2 files changed, 3 insertions, 4 deletions
diff --git a/include/media/media-device.h b/include/media/media-device.h
index f23d686aaac6..85fa302047bd 100644
--- a/include/media/media-device.h
+++ b/include/media/media-device.h
@@ -111,11 +111,11 @@ struct media_device *media_device_find_devres(struct device *dev);
/* Iterate over all entities. */
#define media_device_for_each_entity(entity, mdev) \
- list_for_each_entry(entity, &(mdev)->entities, list)
+ list_for_each_entry(entity, &(mdev)->entities, graph_obj.list)
/* Iterate over all interfaces. */
#define media_device_for_each_intf(intf, mdev) \
- list_for_each_entry(intf, &(mdev)->interfaces, list)
+ list_for_each_entry(intf, &(mdev)->interfaces, graph_obj.list)
#else
diff --git a/include/media/media-entity.h b/include/media/media-entity.h
index dbc4da450fc2..f9058601440a 100644
--- a/include/media/media-entity.h
+++ b/include/media/media-entity.h
@@ -66,6 +66,7 @@ enum media_gobj_type {
struct media_gobj {
struct media_device *mdev;
u32 id;
+ struct list_head list;
};
@@ -114,7 +115,6 @@ struct media_entity_operations {
struct media_entity {
struct media_gobj graph_obj; /* must be first field in struct */
- struct list_head list;
const char *name; /* Entity name */
u32 type; /* Entity type (MEDIA_ENT_T_*) */
u32 revision; /* Entity revision, driver specific */
@@ -166,7 +166,6 @@ struct media_entity {
*/
struct media_interface {
struct media_gobj graph_obj;
- struct list_head list;
struct list_head links;
u32 type;
u32 flags;