On Fri, Aug 23, 2019 at 2:56 PM Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> wrote: > > On Fri, 2019-08-23 at 14:37 +0200, Ricardo Ribalda Delgado wrote: > > Adding a V4L2_CID_UNIT_CELL_SIZE control requires a lot of boilerplate, > > try to minimize it by adding a new helper. > > > > Suggested-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> > > Signed-off-by: Ricardo Ribalda Delgado <ribalda@xxxxxxxxxx> > > --- > > drivers/media/v4l2-core/v4l2-ctrls.c | 25 ++++++++++++++++++++++++- > > include/media/v4l2-ctrls.h | 16 ++++++++++++++++ > > 2 files changed, 40 insertions(+), 1 deletion(-) > > > > diff --git a/drivers/media/v4l2-core/v4l2-ctrls.c b/drivers/media/v4l2-core/v4l2-ctrls.c > > index b3bf458df7f7..33e48f0aec1a 100644 > > --- a/drivers/media/v4l2-core/v4l2-ctrls.c > > +++ b/drivers/media/v4l2-core/v4l2-ctrls.c > > @@ -2660,7 +2660,6 @@ struct v4l2_ctrl *v4l2_ctrl_new_std_menu_items(struct v4l2_ctrl_handler *hdl, > > } > > EXPORT_SYMBOL(v4l2_ctrl_new_std_menu_items); > > > > -/* Helper function for standard integer menu controls */ > > Why move this ... > > > struct v4l2_ctrl *v4l2_ctrl_new_int_menu(struct v4l2_ctrl_handler *hdl, > > const struct v4l2_ctrl_ops *ops, > > u32 id, u8 _max, u8 _def, const s64 *qmenu_int) > > @@ -2684,6 +2683,30 @@ struct v4l2_ctrl *v4l2_ctrl_new_int_menu(struct v4l2_ctrl_handler *hdl, > > } > > EXPORT_SYMBOL(v4l2_ctrl_new_int_menu); > > > > +static void area_init(const struct v4l2_ctrl *ctrl, u32 idx, > > + union v4l2_ctrl_ptr ptr) > > +{ > > + memcpy(ptr.p_area, ctrl->priv, sizeof(*ptr.p_area)); > > +} > > + > > +static const struct v4l2_ctrl_type_ops area_ops = { > > + .init = area_init, > > +}; > > + > > +struct v4l2_ctrl *v4l2_ctrl_new_area(struct v4l2_ctrl_handler *hdl, > > + const struct v4l2_ctrl_ops *ops, > > + u32 id, const struct v4l2_area *area) > > +{ > > + static struct v4l2_ctrl_config ctrl = { > > + .id = V4L2_CID_UNIT_CELL_SIZE, > > + .type_ops = &area_ops, > > + }; > > + > > + return v4l2_ctrl_new_custom(hdl, &ctrl, (void *)area); > > +} > > +EXPORT_SYMBOL(v4l2_ctrl_new_area); > > + > > +/* Helper function for standard integer menu controls */ > > ... here? Because I screwed up :). Let me fix that sorry. I will push all your changes to: https://github.com/ribalda/linux/tree/unit-size-v4 plus any other comment and then I will wait 2-3 days for resend > > Looks to me like this comment should stay attached to > v4l2_ctrl_new_int_menu. > > regards > Philipp