From 888b03b281397f2569af50b33d3a7de3c93e0fd9 Mon Sep 17 00:00:00 2001 From: Sakari Ailus Date: Sat, 14 Jan 2012 21:33:36 +0200 Subject: libmediactl: Implement MEDIA_ENT_ID_FLAG_NEXT in media_get_entity_by_id() Signed-off-by: Sakari Ailus [laurent.pinchart@ideasonboard Clarify documentation] Signed-off-by: Laurent Pinchart --- src/mediactl.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'src/mediactl.c') diff --git a/src/mediactl.c b/src/mediactl.c index bc6a713..14cff30 100644 --- a/src/mediactl.c +++ b/src/mediactl.c @@ -26,6 +26,7 @@ #include #include +#include #include #include #include @@ -83,12 +84,16 @@ struct media_entity *media_get_entity_by_name(struct media_device *media, struct media_entity *media_get_entity_by_id(struct media_device *media, __u32 id) { + bool next = id & MEDIA_ENT_ID_FLAG_NEXT; unsigned int i; + id &= ~MEDIA_ENT_ID_FLAG_NEXT; + for (i = 0; i < media->entities_count; ++i) { struct media_entity *entity = &media->entities[i]; - if (entity->info.id == id) + if ((entity->info.id == id && !next) || + (entity->info.id > id && next)) return entity; } -- cgit v1.2.3