v4l2-ctrls: set elem_size for all types handled by std_type_ops
It makes sense to have elem_size prefilled for types that the control framework knows about.
Signed-off-by Hans Verkuil <[email protected]>
--- drivers/media/v4l2-core/v4l2-ctrls.c | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-)
drivers/media/v4l2-core/v4l2-ctrls.c +17 -4
@@ -1821,12 +1821,25 @@ static struct v4l2_ctrl *v4l2_ctrl_new(struct v4l2_ctrl_handler *hdl, rows =1 ; is_matrix = cols >1 || rows >1 ; -if (type ==V4L2_CTRL_TYPE_INTEGER64 ) +/* Prefill elem_size for all types handled by std_type_ops */ +switch (type) { +case V4L2_CTRL_TYPE_INTEGER64 : elem_size =sizeof (s64); -else if (type ==V4L2_CTRL_TYPE_STRING ) +break ; +case V4L2_CTRL_TYPE_STRING : elem_size = max +1 ; -else if (type <V4L2_CTRL_COMPLEX_TYPES ) - elem_size =sizeof (s32); +break ; +case V4L2_CTRL_TYPE_U8 : + elem_size =sizeof (u8); +break ; +case V4L2_CTRL_TYPE_U16 : + elem_size =sizeof (u16); +break ; +default : +if (type <V4L2_CTRL_COMPLEX_TYPES ) + elem_size =sizeof (s32); +break ; + } tot_ctrl_size = elem_size * cols * rows;/* Sanity checks */
Signature · 1 line
1.8.5.2