summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMauro Carvalho Chehab <mchehab@osg.samsung.com>2015-09-06 10:59:08 -0300
committerMauro Carvalho Chehab <mchehab@osg.samsung.com>2016-01-11 12:19:01 -0200
commitd87cdb884486bfa795be99c83a5b3ac4d428ca84 (patch)
tree40f87b39589940f201c2a10e265f24c05e1459ff
parent0e576b76f5470a2f8b2287958a2b9a3dd0f56f10 (diff)
downloadlinux-d87cdb884486bfa795be99c83a5b3ac4d428ca84.tar.gz
linux-d87cdb884486bfa795be99c83a5b3ac4d428ca84.tar.bz2
linux-d87cdb884486bfa795be99c83a5b3ac4d428ca84.zip
[media] media-device: export the entity function via new ioctl
Now that entities have a main function, expose it via MEDIA_IOC_G_TOPOLOGY ioctl. Please notice that some entities may have secundary functions. Such use case will be addressed later, when we add support for the Media Controller properties. 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.c1
-rw-r--r--include/uapi/linux/media.h3
2 files changed, 3 insertions, 1 deletions
diff --git a/drivers/media/media-device.c b/drivers/media/media-device.c
index 4f8388423edc..83525ac29328 100644
--- a/drivers/media/media-device.c
+++ b/drivers/media/media-device.c
@@ -263,6 +263,7 @@ static long __media_device_get_topology(struct media_device *mdev,
/* Copy fields to userspace struct if not error */
memset(&uentity, 0, sizeof(uentity));
uentity.id = entity->graph_obj.id;
+ uentity.function = entity->function;
strncpy(uentity.name, entity->name,
sizeof(uentity.name));
diff --git a/include/uapi/linux/media.h b/include/uapi/linux/media.h
index f9520225a211..290dd5585dc8 100644
--- a/include/uapi/linux/media.h
+++ b/include/uapi/linux/media.h
@@ -276,7 +276,8 @@ struct media_links_enum {
struct media_v2_entity {
__u32 id;
char name[64]; /* FIXME: move to a property? (RFC says so) */
- __u16 reserved[14];
+ __u32 function; /* Main function of the entity */
+ __u16 reserved[12];
};
/* Should match the specific fields at media_intf_devnode */