Moi, On Wed, Aug 02, 2023 at 02:04:57PM +0300, Tomi Valkeinen wrote: > > +static int ti_csi2rx_enum_fmt_vid_cap(struct file *file, void *priv, > > + struct v4l2_fmtdesc *f) > > +{ > > + const struct ti_csi2rx_fmt *fmt = NULL; > > + > > + if (f->mbus_code) { > > + if (f->index > 0) > > + return -EINVAL; > > This fails to enumerate the formats if mbus_code is set, doesn't it? This is intentional: if the mbus_code field is set, you're supposed to get only format(s) corresponding to that mbus code. > > > + > > + fmt = find_format_by_code(f->mbus_code); > > + } else { > > + if (f->index >= num_formats) > > + return -EINVAL; > > + > > + fmt = &formats[f->index]; > > + } > > + > > + if (!fmt) > > + return -EINVAL; > > + > > + f->pixelformat = fmt->fourcc; > > + memset(f->reserved, 0, sizeof(f->reserved)); > > + f->type = V4L2_BUF_TYPE_VIDEO_CAPTURE; > > + > > + return 0; > > +} -- Sakari Ailus