diff mbox series

[48/50] staging: media: imx: imx7-media-csi: Inline imx7_csi_enum_pixel_formats()

Message ID 20220510115859.19777-49-laurent.pinchart@ideasonboard.com
State Accepted
Commit 67c4b3f2e344bc61e288ace618a035495973e843
Headers show
Series [01/50] staging: media: imx: imx7-media-csi: Initialize locks early on | expand

Commit Message

Laurent Pinchart May 10, 2022, 11:58 a.m. UTC
Inline the imx7_csi_enum_pixel_formats() function in its only caller.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
---
 drivers/staging/media/imx/imx7-media-csi.c | 84 +++++++++-------------
 1 file changed, 34 insertions(+), 50 deletions(-)
diff mbox series

Patch

diff --git a/drivers/staging/media/imx/imx7-media-csi.c b/drivers/staging/media/imx/imx7-media-csi.c
index 8be6f40588af..0bf69933f1bd 100644
--- a/drivers/staging/media/imx/imx7-media-csi.c
+++ b/drivers/staging/media/imx/imx7-media-csi.c
@@ -954,54 +954,6 @@  static const struct imx7_csi_pixfmt *imx7_csi_find_mbus_format(u32 code)
 	return NULL;
 }
 
-/*
- * 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
@@ -1088,8 +1040,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,