Message ID | 20180125130852.4779-1-niklas.soderlund+renesas@ragnatech.se (mailing list archive) |
---|---|
State | Not Applicable |
Delegated to: | Geert Uytterhoeven |
Headers | show |
On Thu, Jan 25, 2018 at 02:08:52PM +0100, Niklas Söderlund wrote: > 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 '__entity'. > > Fixes: 69b925c5fc36d8f1 ("media: v4l2-dev.h: add kernel-doc to two macros") > Signed-off-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se> Acked-by: Sakari Ailus <sakari.ailus@linux.intel.com>
diff --git a/include/media/v4l2-dev.h b/include/media/v4l2-dev.h index 267fd2bed17bd3c1..322b8a9abb8dc45a 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 + * @__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(__entity) \ + container_of(__entity, struct video_device, entity) /** * to_video_device - Returns a &struct video_device from the
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 '__entity'. Fixes: 69b925c5fc36d8f1 ("media: v4l2-dev.h: add kernel-doc to two macros") Signed-off-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se> --- include/media/v4l2-dev.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) * Changes from v1 - Change argument name to '__entity' as suggested by Geert, Sakari and Mauro. - Added fixes tag.