aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/media')
-rw-r--r--drivers/media/media-device.c2
-rw-r--r--drivers/media/media-entity.c17
2 files changed, 8 insertions, 11 deletions
diff --git a/drivers/media/media-device.c b/drivers/media/media-device.c
index ec98595b8a7a..5b2c9f7fcd45 100644
--- a/drivers/media/media-device.c
+++ b/drivers/media/media-device.c
@@ -382,6 +382,8 @@ int __must_check __media_device_register(struct media_device *mdev,
INIT_LIST_HEAD(&mdev->entities);
INIT_LIST_HEAD(&mdev->interfaces);
+ INIT_LIST_HEAD(&mdev->pads);
+ INIT_LIST_HEAD(&mdev->links);
spin_lock_init(&mdev->lock);
mutex_init(&mdev->graph_mutex);
diff --git a/drivers/media/media-entity.c b/drivers/media/media-entity.c
index b3875b0185c1..2f3d3aae20a7 100644
--- a/drivers/media/media-entity.c
+++ b/drivers/media/media-entity.c
@@ -162,13 +162,15 @@ void media_gobj_init(struct media_device *mdev,
break;
case MEDIA_GRAPH_PAD:
gobj->id = media_gobj_gen_id(type, ++mdev->pad_id);
+ list_add_tail(&gobj->list, &mdev->pads);
break;
case MEDIA_GRAPH_LINK:
gobj->id = media_gobj_gen_id(type, ++mdev->link_id);
+ list_add_tail(&gobj->list, &mdev->links);
break;
case MEDIA_GRAPH_INTF_DEVNODE:
- list_add_tail(&gobj->list, &mdev->interfaces);
gobj->id = media_gobj_gen_id(type, ++mdev->intf_devnode_id);
+ list_add_tail(&gobj->list, &mdev->interfaces);
break;
}
dev_dbg_obj(__func__, gobj);
@@ -183,17 +185,10 @@ void media_gobj_init(struct media_device *mdev,
*/
void media_gobj_remove(struct media_gobj *gobj)
{
- /* Remove the object from mdev list */
- switch (media_type(gobj)) {
- case MEDIA_GRAPH_ENTITY:
- case MEDIA_GRAPH_INTF_DEVNODE:
- list_del(&gobj->list);
- break;
- default:
- break;
- }
-
dev_dbg_obj(__func__, gobj);
+
+ /* Remove the object from mdev list */
+ list_del(&gobj->list);
}
/**