[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <e1c4618d-4adf-98f6-77ff-b7fc96617a14@xs4all.nl>
Date: Mon, 30 Sep 2019 15:05:08 +0200
From: Hans Verkuil <hverkuil-cisco@...all.nl>
To: Ricardo Ribalda Delgado <ribalda@...nel.org>,
Philipp Zabel <p.zabel@...gutronix.de>,
Jacopo Mondi <jacopo@...ndi.org>, linux-media@...r.kernel.org,
linux-kernel@...r.kernel.org
Cc: Hans Verkuil <hverkuil@...all.nl>
Subject: Re: [PATCH v8 7/8] media: v4l2-ctrl: Add new helper
v4l2_ctrl_ptr_from_void
On 9/30/19 12:18 PM, Ricardo Ribalda Delgado wrote:
> This helper function simplifies the code by not needing a union
> v4l2_ctrl_ptr and an assignment every time we need to use
> a ctrl_ptr.
>
> Suggested-by: Hans Verkuil <hverkuil@...all.nl>
> Signed-off-by: Ricardo Ribalda Delgado <ribalda@...nel.org>
> ---
> include/media/v4l2-ctrls.h | 11 +++++++++++
> 1 file changed, 11 insertions(+)
>
> diff --git a/include/media/v4l2-ctrls.h b/include/media/v4l2-ctrls.h
> index c42f164e2c9e..d69cfdffd41d 100644
> --- a/include/media/v4l2-ctrls.h
> +++ b/include/media/v4l2-ctrls.h
> @@ -73,6 +73,17 @@ union v4l2_ctrl_ptr {
> void *p;
> };
>
> +/**
> + * v4l2_ctrl_ptr() - Helper function to return a v4l2_ctrl_ptr from a
> + * void pointer
> + * @ptr: The void pointer
> + */
> +static inline union v4l2_ctrl_ptr v4l2_ctrl_ptr_from_void(void *ptr)
> +{
> + BUILD_BUG_ON(sizeof(union v4l2_ctrl_ptr) != sizeof(void *));
> + return (union v4l2_ctrl_ptr) ptr;
Huh? Why not just do:
union v4l2_ctrl_ptr p = { .p = ptr; };
return p;
Or even shorter (not tested): return (union v4l2_ctrl_ptr) { .p = ptr; };
No need for BUILD_BUG_ON that way, which is rather ugly.
Regards,
Hans
> +}
> +
> /**
> * struct v4l2_ctrl_ops - The control operations that the driver has to provide.
> *
>
Powered by blists - more mailing lists