Hi Laurent, On Wed, Feb 20, 2019 at 02:51:20PM +0200, Laurent Pinchart wrote: > Only arrays of integer types are supported. > > Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> > --- > yavta.c | 228 ++++++++++++++++++++++++++++++++++++++++++-------------- > 1 file changed, 172 insertions(+), 56 deletions(-) > > diff --git a/yavta.c b/yavta.c > index 6428c22f88d7..d1bfd380c03b 100644 > --- a/yavta.c > +++ b/yavta.c ... > @@ -1338,17 +1318,157 @@ static int video_print_control(struct device *dev, > return 1; > } > > -static int __video_print_control(struct device *dev, > - const struct v4l2_query_ext_ctrl *query) > +static int __video_get_control(struct device *dev, > + const struct v4l2_query_ext_ctrl *query) > { > - return video_print_control(dev, query, true); > + return video_get_control(dev, query, true); > +} > + > +static int video_parse_control_array(const struct v4l2_query_ext_ctrl *query, > + struct v4l2_ext_control *ctrl, > + const char *val) > +{ > + unsigned int i; > + char *endptr; > + __u32 value; > + > + for ( ; isspace(*val); ++val) { }; > + if (*val++ != '{') > + return -EINVAL; > + > + for (i = 0; i < query->elems; ++i) { > + for ( ; isspace(*val); ++val) { }; Why braces? Just wondering. :-) You could use any number of semicolons, too. There's more below. -- Sakari Ailus