[media] media: move MEDIA_LNK_FL_INTERFACE_LINK logic to link creation

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>
diff --git a/drivers/media/media-device.c b/drivers/media/media-device.c
index 6406914..c12481c 100644
--- a/drivers/media/media-device.c
+++ b/drivers/media/media-device.c
@@ -361,9 +361,6 @@
 		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++;
diff --git a/drivers/media/media-entity.c b/drivers/media/media-entity.c
index 181ca0d..6926e06 100644
--- a/drivers/media/media-entity.c
+++ b/drivers/media/media-entity.c
@@ -526,7 +526,7 @@
 
 	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 @@
 
 	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,