summaryrefslogtreecommitdiff
path: root/drivers/staging/media/imx/imx7-media-csi.c
diff options
context:
space:
mode:
authorLaurent Pinchart <laurent.pinchart@ideasonboard.com>2022-05-10 10:47:34 +0100
committerMauro Carvalho Chehab <mchehab@kernel.org>2022-07-08 18:03:09 +0100
commit67c4b3f2e344bc61e288ace618a035495973e843 (patch)
tree7731e485892797ec72f8463fe799fd199732e7e6 /drivers/staging/media/imx/imx7-media-csi.c
parent820552fbfc2b88e85d7288dff5e657420b192948 (diff)
media: staging: media: imx: imx7-media-csi: Inline imx7_csi_enum_pixel_formats()
Inline the imx7_csi_enum_pixel_formats() function in its only caller. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Acked-by: Rui Miguel Silva <rmfrfs@gmail.com> Tested-by: Alexander Stein <alexander.stein@ew.tq-group.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
Diffstat (limited to 'drivers/staging/media/imx/imx7-media-csi.c')
-rw-r--r--drivers/staging/media/imx/imx7-media-csi.c84
1 files changed, 34 insertions, 50 deletions
diff --git a/drivers/staging/media/imx/imx7-media-csi.c b/drivers/staging/media/imx/imx7-media-csi.c
index 5a13aa7244aa..40910005534b 100644
--- a/drivers/staging/media/imx/imx7-media-csi.c
+++ b/drivers/staging/media/imx/imx7-media-csi.c
@@ -958,54 +958,6 @@ static const struct imx7_csi_pixfmt *imx7_csi_find_mbus_format(u32 code)
/*
* Enumerate entries in the pixel_formats[] array that match the
- * requested selection criteria. Return the fourcc that matches the
- * selection criteria at the requested match index.
- *
- * @fourcc: The returned fourcc that matches the search criteria at
- * the requested match index.
- * @index: The requested match index.
- * @code: If non-zero, only include in the enumeration entries matching this
- * media bus code.
- */
-static int imx7_csi_enum_pixel_formats(u32 *fourcc, u32 index, u32 code)
-{
- unsigned int i;
-
- for (i = 0; i < ARRAY_SIZE(pixel_formats); i++) {
- const struct imx7_csi_pixfmt *fmt = &pixel_formats[i];
-
- /*
- * If a media bus code is specified, only consider formats that
- * match it.
- */
- if (code) {
- unsigned int j;
-
- if (!fmt->codes)
- continue;
-
- for (j = 0; fmt->codes[j]; j++) {
- if (code == fmt->codes[j])
- break;
- }
-
- if (!fmt->codes[j])
- continue;
- }
-
- if (index == 0) {
- *fourcc = fmt->fourcc;
- return 0;
- }
-
- index--;
- }
-
- return -EINVAL;
-}
-
-/*
- * Enumerate entries in the pixel_formats[] array that match the
* requested search criteria. Return the media-bus code that matches
* the search criteria at the requested match index.
*
@@ -1090,8 +1042,40 @@ static int imx7_csi_video_querycap(struct file *file, void *fh,
static int imx7_csi_video_enum_fmt_vid_cap(struct file *file, void *fh,
struct v4l2_fmtdesc *f)
{
- return imx7_csi_enum_pixel_formats(&f->pixelformat, f->index,
- f->mbus_code);
+ unsigned int index = f->index;
+ unsigned int i;
+
+ for (i = 0; i < ARRAY_SIZE(pixel_formats); i++) {
+ const struct imx7_csi_pixfmt *fmt = &pixel_formats[i];
+
+ /*
+ * If a media bus code is specified, only consider formats that
+ * match it.
+ */
+ if (f->mbus_code) {
+ unsigned int j;
+
+ if (!fmt->codes)
+ continue;
+
+ for (j = 0; fmt->codes[j]; j++) {
+ if (f->mbus_code == fmt->codes[j])
+ break;
+ }
+
+ if (!fmt->codes[j])
+ continue;
+ }
+
+ if (index == 0) {
+ f->pixelformat = fmt->fourcc;
+ return 0;
+ }
+
+ index--;
+ }
+
+ return -EINVAL;
}
static int imx7_csi_video_enum_framesizes(struct file *file, void *fh,