@@ -435,6 +435,13 @@ int __must_check media_device_register_entity(struct media_device *mdev,
entity->parent = mdev;
spin_lock(&mdev->lock);
+ /* Initialize media_graph_obj embedded at the entity */
+ graph_obj_init(mdev, MEDIA_GRAPH_ENTITY, &entity->graph_obj);
+
+ /*
+ * FIXME: should it use the unique object ID or would it
+ * break support on the legacy MC API?
+ */
if (entity->id == 0)
entity->id = mdev->entity_id++;
else
@@ -461,6 +468,7 @@ void media_device_unregister_entity(struct media_entity *entity)
return;
spin_lock(&mdev->lock);
+ graph_obj_remove(&entity->graph_obj);
list_del(&entity->list);
spin_unlock(&mdev->lock);
entity->parent = NULL;
All objects need an object ID. However, as v4l2 subdevs embeed entities internally, the code needs to manually check if the entity objects were not properly initialized and do it at entity register time. Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>