]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
media: i2c: imx274: implement enum_mbus_code
authorEugen Hristev <eugen.hristev@microchip.com>
Thu, 18 Nov 2021 15:40:09 +0000 (16:40 +0100)
committerMauro Carvalho Chehab <mchehab+huawei@kernel.org>
Tue, 30 Nov 2021 09:47:21 +0000 (10:47 +0100)
Current driver supports only SRGGB 10 bit RAW bayer format.
Add the enum_mbus_code implementation to report this format supported.

 # v4l2-ctl -d /dev/v4l-subdev3 --list-subdev-mbus-codes
ioctl: VIDIOC_SUBDEV_ENUM_MBUS_CODE (pad=0)
        0x300f: MEDIA_BUS_FMT_SRGGB10_1X10
 #

Signed-off-by: Eugen Hristev <eugen.hristev@microchip.com>
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
drivers/media/i2c/imx274.c

index 2e804e3b70c4ca48a0f4acb7a05d09930a839faf..25a4ef8f6187c73e8d6d45f653e85ef17da1e998 100644 (file)
@@ -1909,7 +1909,21 @@ fail:
        return err;
 }
 
+static int imx274_enum_mbus_code(struct v4l2_subdev *sd,
+                                struct v4l2_subdev_state *sd_state,
+                                struct v4l2_subdev_mbus_code_enum *code)
+{
+       if (code->index > 0)
+               return -EINVAL;
+
+       /* only supported format in the driver is Raw 10 bits SRGGB */
+       code->code = MEDIA_BUS_FMT_SRGGB10_1X10;
+
+       return 0;
+}
+
 static const struct v4l2_subdev_pad_ops imx274_pad_ops = {
+       .enum_mbus_code = imx274_enum_mbus_code,
        .get_fmt = imx274_get_fmt,
        .set_fmt = imx274_set_fmt,
        .get_selection = imx274_get_selection,