Hi Russel, On Sun, Mar 19, 2017 at 10:49:08AM +0000, Russell King wrote: > Add support for enumerating frame sizes and frame intervals from the > first subdev via the V4L2 interfaces. > > Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxx> > --- > drivers/staging/media/imx/imx-media-capture.c | 62 +++++++++++++++++++++++++++ > 1 file changed, 62 insertions(+) > ... > +static int capture_enum_frameintervals(struct file *file, void *fh, > + struct v4l2_frmivalenum *fival) > +{ > + struct capture_priv *priv = video_drvdata(file); > + const struct imx_media_pixfmt *cc; > + struct v4l2_subdev_frame_interval_enum fie = { > + .index = fival->index, > + .pad = priv->src_sd_pad, > + .width = fival->width, > + .height = fival->height, > + .which = V4L2_SUBDEV_FORMAT_ACTIVE, > + }; > + int ret; > + > + cc = imx_media_find_format(fival->pixel_format, CS_SEL_ANY, true); > + if (!cc) > + return -EINVAL; > + > + fie.code = cc->codes[0]; > + > + ret = v4l2_subdev_call(priv->src_sd, pad, enum_frame_interval, NULL, &fie); > + if (ret) > + return ret; > + > + fival->type = V4L2_FRMIVAL_TYPE_DISCRETE; > + fival->discrete = fie.interval; For some parallel sensors (mine is a E2V ev76c560) "any" frame interval is possible, and hence type should be V4L2_FRMIVAL_TYPE_CONTINUOUS. see also https://www.spinics.net/lists/linux-media/msg98622.html, https://patchwork.kernel.org/patch/9171201/ and https://patchwork.kernel.org/patch/9171199/ Philippe -- Philippe De Muyter +32 2 6101532 Macq SA rue de l'Aeronef 2 B-1140 Bruxelles