A recent change to the media_entity_to_video_device() macro breaks some
use-cases for the macro due to a symbol collision. Before the change
this worked:
vdev = media_entity_to_video_device(link->sink->entity);
While after the change it results in a compiler error "error: 'struct
video_device' has no member named 'link'; did you mean 'lock'?". While
the following still works after the change.
struct media_entity *entity = link->sink->entity;
vdev = media_entity_to_video_device(entity);
Fix the collision by renaming the macro argument to 'media_entity'.
Signed-off-by: Niklas Söderlund <[email protected]>
---
include/media/v4l2-dev.h | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
Hi Mauro,
As the offending commit is not yet upstream and I'm not sure if the
commit ids in the media-tree are stable. If they are please attach the
following fixes tag.
Fixes: 69b925c5fc36d8f1 ("media: v4l2-dev.h: add kernel-doc to two macros")
Regards,
// Niklas
diff --git a/include/media/v4l2-dev.h b/include/media/v4l2-dev.h
index 267fd2bed17bd3c1..f0fc1ebda47244b3 100644
--- a/include/media/v4l2-dev.h
+++ b/include/media/v4l2-dev.h
@@ -298,10 +298,10 @@ struct video_device
* media_entity_to_video_device - Returns a &struct video_device from
* the &struct media_entity embedded on it.
*
- * @entity: pointer to &struct media_entity
+ * @media_entity: pointer to &struct media_entity
*/
-#define media_entity_to_video_device(entity) \
- container_of(entity, struct video_device, entity)
+#define media_entity_to_video_device(media_entity) \
+ container_of(media_entity, struct video_device, entity)
/**
* to_video_device - Returns a &struct video_device from the
--
2.15.1