From: Eugen Hristev Date: Thu, 18 Nov 2021 15:40:09 +0000 (+0100) Subject: media: i2c: imx274: implement enum_mbus_code X-Git-Tag: v5.17-rc1~171^2~160 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=7218905afd1a830ba86a30389cd080d9e00b7000;p=thirdparty%2Fkernel%2Flinux.git media: i2c: imx274: implement enum_mbus_code 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 Signed-off-by: Sakari Ailus Signed-off-by: Mauro Carvalho Chehab --- diff --git a/drivers/media/i2c/imx274.c b/drivers/media/i2c/imx274.c index 2e804e3b70c4c..25a4ef8f6187c 100644 --- a/drivers/media/i2c/imx274.c +++ b/drivers/media/i2c/imx274.c @@ -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,