summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMauro Carvalho Chehab2015-08-20 01:18:35 +0200
committerMauro Carvalho Chehab2016-01-11 15:18:46 +0100
commit8f6d368f726bb4fa069af5ef5806f15ba6da6ad8 (patch)
treebf9dd61f3760cb9744f6558fc4a6fde4a90bdbf9
parent[media] smiapp: create pad links after subdev registration (diff)
downloadkernel-qcow2-linux-8f6d368f726bb4fa069af5ef5806f15ba6da6ad8.tar.gz
kernel-qcow2-linux-8f6d368f726bb4fa069af5ef5806f15ba6da6ad8.tar.xz
kernel-qcow2-linux-8f6d368f726bb4fa069af5ef5806f15ba6da6ad8.zip
[media] media: Don't accept early-created links
Links are graph objects that represent the links of two already existing objects in the graph. While with the current implementation, it is possible to create the links earlier, It doesn't make any sense to allow linking two objects when they are not both created. So, remove the code that would be handling those early-created links and add a BUG_ON() to ensure that. Acked-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
-rw-r--r--drivers/media/media-device.c7
-rw-r--r--drivers/media/media-entity.c2
2 files changed, 2 insertions, 7 deletions
diff --git a/drivers/media/media-device.c b/drivers/media/media-device.c
index 138b18416460..0d85c6c28004 100644
--- a/drivers/media/media-device.c
+++ b/drivers/media/media-device.c
@@ -443,13 +443,6 @@ int __must_check media_device_register_entity(struct media_device *mdev,
media_gobj_init(mdev, MEDIA_GRAPH_ENTITY, &entity->graph_obj);
list_add_tail(&entity->list, &mdev->entities);
- /*
- * Initialize objects at the links
- * in the case where links got created before entity register
- */
- for (i = 0; i < entity->num_links; i++)
- media_gobj_init(mdev, MEDIA_GRAPH_LINK,
- &entity->links[i].graph_obj);
/* Initialize objects at the pads */
for (i = 0; i < entity->num_pads; i++)
media_gobj_init(mdev, MEDIA_GRAPH_PAD,
diff --git a/drivers/media/media-entity.c b/drivers/media/media-entity.c
index 160ce2cc0865..f85a711d4958 100644
--- a/drivers/media/media-entity.c
+++ b/drivers/media/media-entity.c
@@ -149,6 +149,8 @@ void media_gobj_init(struct media_device *mdev,
enum media_gobj_type type,
struct media_gobj *gobj)
{
+ BUG_ON(!mdev);
+
gobj->mdev = mdev;
/* Create a per-type unique object ID */