[PATCH v4 04/11] media: imx8-isi: Reuse mxc_isi_format_enum() in capture format enumeration
Guoniu Zhou
guoniu.zhou at oss.nxp.com
Tue Sep 29 01:52:25 PDT 2026
Simplify mxc_isi_video_enum_fmt() by reusing mxc_isi_format_enum()
instead of open-coding the same format table traversal.
Signed-off-by: Guoniu Zhou <guoniu.zhou at oss.nxp.com>
---
Changes in v4:
- New patch
---
.../media/platform/nxp/imx8-isi/imx8-isi-video.c | 30 +++-------------------
1 file changed, 3 insertions(+), 27 deletions(-)
diff --git a/drivers/media/platform/nxp/imx8-isi/imx8-isi-video.c b/drivers/media/platform/nxp/imx8-isi/imx8-isi-video.c
index 0d87a1082727..21849af3121b 100644
--- a/drivers/media/platform/nxp/imx8-isi/imx8-isi-video.c
+++ b/drivers/media/platform/nxp/imx8-isi/imx8-isi-video.c
@@ -1231,34 +1231,10 @@ static int mxc_isi_video_enum_fmt(struct file *file, void *priv,
struct v4l2_fmtdesc *f)
{
const struct mxc_isi_format_info *fmt;
- unsigned int index = f->index;
- unsigned int i;
-
- if (f->mbus_code) {
- /*
- * If a media bus code is specified, only enumerate formats
- * compatible with it.
- */
- for (i = 0; i < ARRAY_SIZE(mxc_isi_formats); i++) {
- fmt = &mxc_isi_formats[i];
- if (fmt->mbus_code != f->mbus_code)
- continue;
-
- if (index == 0)
- break;
-
- index--;
- }
- if (i == ARRAY_SIZE(mxc_isi_formats))
- return -EINVAL;
- } else {
- /* Otherwise, enumerate all formatS. */
- if (f->index >= ARRAY_SIZE(mxc_isi_formats))
- return -EINVAL;
-
- fmt = &mxc_isi_formats[f->index];
- }
+ fmt = mxc_isi_format_enum(f, MXC_ISI_VIDEO_CAP);
+ if (!fmt)
+ return -EINVAL;
f->pixelformat = fmt->fourcc;
f->flags |= V4L2_FMT_FLAG_CSC_COLORSPACE | V4L2_FMT_FLAG_CSC_YCBCR_ENC
--
2.34.1
More information about the linux-arm-kernel
mailing list