Hi Ricardo, On 11/1/19 12:23 PM, Ricardo Ribalda Delgado wrote: > This pointer is used to point to data that is constant. Thanks to this > we can avoid a lot of casting and we make more clear when the data is > constant or variable. > > Suggested-by: Hans Verkuil <hverkuil-cisco@xxxxxxxxx> > Signed-off-by: Ricardo Ribalda Delgado <ribalda@xxxxxxxxxx> > --- > include/media/v4l2-ctrls.h | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/include/media/v4l2-ctrls.h b/include/media/v4l2-ctrls.h > index 78a97b10c89e..7db9e719a583 100644 > --- a/include/media/v4l2-ctrls.h > +++ b/include/media/v4l2-ctrls.h > @@ -56,6 +56,7 @@ struct poll_table_struct; > * @p_hevc_slice_params: Pointer to an HEVC slice parameters structure. > * @p_area: Pointer to an area. > * @p: Pointer to a compound value. > + * @p_const: Pointer to a constant compound value. > */ > union v4l2_ctrl_ptr { > s32 *p_s32; > @@ -78,6 +79,7 @@ union v4l2_ctrl_ptr { > struct v4l2_ctrl_hevc_slice_params *p_hevc_slice_params; > struct v4l2_area *p_area; > void *p; > + const void *p_const; > }; > > /** > This addition makes it possible to use const void pointers elsewhere in the control framework. E.g. in std_equal you can use p_const in the memcmp at the end. Can you go through the v4l2-ctrls.c source and replace .p by .p_const where it makes sense? Obviously this would be a separate patch. Regards, Hans