Re: [PATCH 6/6] hantro: Refactor for V4L2 API spec compliancy
From: Nicolas Dufresne
Date: Wed Mar 11 2020 - 15:05:52 EST
Le mercredi 11 mars 2020 Ã 16:01 -0300, Ezequiel Garcia a Ãcrit :
> On Wed, 2020-03-11 at 14:43 -0300, Ezequiel Garcia wrote:
> > Refactor how S_FMT and TRY_FMT are handled, and also make sure
> > internal initial format and format reset are done properly.
> >
> > The latter is achieved by making sure the same hantro_{set,try}_fmt
> > helpers are called on all paths that set the format (which is
> > part of the driver state).
> >
> > This commit removes the following v4l2-compliance warnings:
> >
> > test VIDIOC_G_FMT: OK
> > fail: v4l2-test-formats.cpp(711): Video Capture Multiplanar: TRY_FMT(G_FMT) != G_FMT
> > test VIDIOC_TRY_FMT: FAIL
> > fail: v4l2-test-formats.cpp(1116): Video Capture Multiplanar: S_FMT(G_FMT) != G_FMT
> > test VIDIOC_S_FMT: FAIL
> >
> > Reported-by: Nicolas Dufresne <nicolas.dufresne@xxxxxxxxxxxxx>
> > Signed-off-by: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxx>
> > ---
> [..]
> > @@ -227,12 +232,12 @@ static int vidioc_g_fmt_cap_mplane(struct file *file, void *priv,
> > return 0;
> > }
> >
> > -static int vidioc_try_fmt(struct file *file, void *priv, struct v4l2_format *f,
> > - bool capture)
> > +static int hantro_try_fmt(const struct hantro_ctx *ctx,
>
> Oops, it seems there's a warning due to ctx being const-qualified.
Indeed:
drivers/staging/media/hantro/hantro_v4l2.c: In function âhantro_try_fmtâ:
drivers/staging/media/hantro/hantro_v4l2.c:282:30: warning: passing argument 1 of âhantro_needs_postprocâ discards âconstâ qualifier from pointer target type [-Wdiscarded-qualifiers]
282 | !hantro_needs_postproc(ctx, fmt))
| ^~~
In file included from drivers/staging/media/hantro/hantro_v4l2.c:29:
drivers/staging/media/hantro/hantro.h:420:42: note: expected âstruct hantro_ctx *â but argument is of type âconst struct hantro_ctx *â
420 | hantro_needs_postproc(struct hantro_ctx *ctx, const struct hantro_fmt *fmt)
| ~~~~~~~~~~~~~~~~~~~^~~
>
> That should be fixed of course.
>
> Regards,
> Ezequiel
>
>