media: imx-pxp: Pass pixel format value to find_format()
authorLaurent Pinchart <laurent.pinchart@ideasonboard.com>
Fri, 13 Jan 2023 09:54:18 +0000 (10:54 +0100)
committerMauro Carvalho Chehab <mchehab@kernel.org>
Wed, 8 Feb 2023 08:19:56 +0000 (09:19 +0100)
The find_format() function looks up format information for a given pixel
format. It takes a v4l2_format pointer, but only uses the contained
pixel format value. To prepare it for being used by callers that don't
have v4l2_format, modify it to take the pixel format value directly.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Michael Tretter <m.tretter@pengutronix.de>
Reviewed-by: Philipp Zabel <p.zabel@pengutronix.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
drivers/media/platform/nxp/imx-pxp.c

index 19efd65b60f20f2bca7cea4a223ecce7f36b8ea2..4738d7aaa2f751c7f741f074feb0129393bbc6dc 100644 (file)
@@ -176,14 +176,14 @@ enum {
        V4L2_M2M_DST = 1,
 };
 
-static struct pxp_fmt *find_format(struct v4l2_format *f)
+static struct pxp_fmt *find_format(unsigned int pixelformat)
 {
        struct pxp_fmt *fmt;
        unsigned int k;
 
        for (k = 0; k < NUM_FORMATS; k++) {
                fmt = &formats[k];
-               if (fmt->fourcc == f->fmt.pix.pixelformat)
+               if (fmt->fourcc == pixelformat)
                        break;
        }
 
@@ -1256,10 +1256,10 @@ static int pxp_try_fmt_vid_cap(struct file *file, void *priv,
        struct pxp_fmt *fmt;
        struct pxp_ctx *ctx = file2ctx(file);
 
-       fmt = find_format(f);
+       fmt = find_format(f->fmt.pix.pixelformat);
        if (!fmt) {
                f->fmt.pix.pixelformat = formats[0].fourcc;
-               fmt = find_format(f);
+               fmt = find_format(f->fmt.pix.pixelformat);
        }
        if (!(fmt->types & MEM2MEM_CAPTURE)) {
                v4l2_err(&ctx->dev->v4l2_dev,
@@ -1284,10 +1284,10 @@ static int pxp_try_fmt_vid_out(struct file *file, void *priv,
        struct pxp_fmt *fmt;
        struct pxp_ctx *ctx = file2ctx(file);
 
-       fmt = find_format(f);
+       fmt = find_format(f->fmt.pix.pixelformat);
        if (!fmt) {
                f->fmt.pix.pixelformat = formats[0].fourcc;
-               fmt = find_format(f);
+               fmt = find_format(f->fmt.pix.pixelformat);
        }
        if (!(fmt->types & MEM2MEM_OUTPUT)) {
                v4l2_err(&ctx->dev->v4l2_dev,
@@ -1320,7 +1320,7 @@ static int pxp_s_fmt(struct pxp_ctx *ctx, struct v4l2_format *f)
                return -EBUSY;
        }
 
-       q_data->fmt             = find_format(f);
+       q_data->fmt             = find_format(f->fmt.pix.pixelformat);
        q_data->width           = f->fmt.pix.width;
        q_data->height          = f->fmt.pix.height;
        q_data->bytesperline    = f->fmt.pix.bytesperline;