[media] media: move MEDIA_LNK_FL_INTERFACE_LINK logic to link creation
authorMauro Carvalho Chehab <mchehab@osg.samsung.com>
Fri, 11 Dec 2015 20:09:13 +0000 (18:09 -0200)
committerMauro Carvalho Chehab <mchehab@osg.samsung.com>
Mon, 11 Jan 2016 14:19:10 +0000 (12:19 -0200)
Instead of flagging an interface link as MEDIA_LNK_FL_INTERFACE_LINK
only when returning to userspace, do it at link creation time.

That would allow using such flag internally, and cleans up a
little bit the code for G_TOPOLOGY ioctl.

[mchehab@osg.samsung.com: folded with a fixup from Dan Carpenter,
 replacing & by &&]
Suggested-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
drivers/media/media-device.c
drivers/media/media-entity.c

index 6406914a9bf59c25348c8bcfc002819d0d27deb2..c12481c753a011958cecfa52f39645bc39f563ad 100644 (file)
@@ -361,9 +361,6 @@ static long __media_device_get_topology(struct media_device *mdev,
                klink.sink_id = link->gobj1->id;
                klink.flags = link->flags;
 
-               if (media_type(link->gobj0) != MEDIA_GRAPH_PAD)
-                       klink.flags |= MEDIA_LNK_FL_INTERFACE_LINK;
-
                if (copy_to_user(ulink, &klink, sizeof(klink)))
                        ret = -EFAULT;
                ulink++;
index 181ca0de6e523a6e2b4137c1590d50868dc38d45..6926e0685d0aa2cf5d25b7aea69c21fb495afe88 100644 (file)
@@ -526,7 +526,7 @@ media_create_pad_link(struct media_entity *source, u16 source_pad,
 
        link->source = &source->pads[source_pad];
        link->sink = &sink->pads[sink_pad];
-       link->flags = flags;
+       link->flags = flags & ~MEDIA_LNK_FL_INTERFACE_LINK;
 
        /* Initialize graph object embedded at the new link */
        media_gobj_create(source->graph_obj.mdev, MEDIA_GRAPH_LINK,
@@ -756,7 +756,7 @@ struct media_link *media_create_intf_link(struct media_entity *entity,
 
        link->intf = intf;
        link->entity = entity;
-       link->flags = flags;
+       link->flags = flags | MEDIA_LNK_FL_INTERFACE_LINK;
 
        /* Initialize graph object embedded at the new link */
        media_gobj_create(intf->graph_obj.mdev, MEDIA_GRAPH_LINK,