[media] media-device: set topology version 0 at media registration
authorJavier Martinez Canillas <javier@osg.samsung.com>
Fri, 11 Dec 2015 22:57:09 +0000 (20:57 -0200)
committerMauro Carvalho Chehab <mchehab@osg.samsung.com>
Mon, 11 Jan 2016 14:19:16 +0000 (12:19 -0200)
The G_TOPOLOGY ioctl is used to get a graph topology and since in the
future a graph can be dynamically updated, there is a way to know the
topology version so userspace can be aware that the graph has changed.

The version 0 is reserved to indicate that the graph is static (i.e no
graphs updates since the media device was registered).

So, now that the media device initialization and registration has been
split and the media device node is not exposed to user-space until all
the entities have been registered and links created, it is safe to set
a topology version 0 in media_device_register().

Suggested-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Suggested-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Signed-off-by: Javier Martinez Canillas <javier@osg.samsung.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
drivers/media/media-device.c

index b718c783debd6811e3a6569ffcd3dfe8d46ab511..b3e19c22e699099ab2a5a20245b4fe6118f05cf3 100644 (file)
@@ -665,6 +665,10 @@ int __must_check __media_device_register(struct media_device *mdev,
        mdev->devnode.fops = &media_device_fops;
        mdev->devnode.parent = mdev->dev;
        mdev->devnode.release = media_device_release;
+
+       /* Set version 0 to indicate user-space that the graph is static */
+       mdev->topology_version = 0;
+
        ret = media_devnode_register(&mdev->devnode, owner);
        if (ret < 0)
                return ret;