From: Changhuang Liang Date: Mon, 11 Dec 2023 09:43:29 +0000 (-0800) Subject: media: cadence: csi2rx: Add enum_mbus_code pad ops X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=c2716904918e99ca4b77354dd46ceec2d9ba2ff6;p=linux.git media: cadence: csi2rx: Add enum_mbus_code pad ops Add enum_mbus_code ioctl so that user space can know what formats are supported to csi2rx. Signed-off-by: Changhuang Liang Reviewed-by: Julien Massot Tested-by: Julien Massot Reviewed-by: Jai Luthra Tested-by: Jai Luthra # [Test on sk-am62a] Signed-off-by: Sakari Ailus Signed-off-by: Hans Verkuil --- diff --git a/drivers/media/platform/cadence/cdns-csi2rx.c b/drivers/media/platform/cadence/cdns-csi2rx.c index 401d9a7c65f86..2d7b0508cc9af 100644 --- a/drivers/media/platform/cadence/cdns-csi2rx.c +++ b/drivers/media/platform/cadence/cdns-csi2rx.c @@ -393,6 +393,18 @@ out: return ret; } +static int csi2rx_enum_mbus_code(struct v4l2_subdev *subdev, + struct v4l2_subdev_state *state, + struct v4l2_subdev_mbus_code_enum *code_enum) +{ + if (code_enum->index >= ARRAY_SIZE(formats)) + return -EINVAL; + + code_enum->code = formats[code_enum->index].code; + + return 0; +} + static int csi2rx_set_fmt(struct v4l2_subdev *subdev, struct v4l2_subdev_state *state, struct v4l2_subdev_format *format) @@ -443,6 +455,7 @@ static int csi2rx_init_state(struct v4l2_subdev *subdev, } static const struct v4l2_subdev_pad_ops csi2rx_pad_ops = { + .enum_mbus_code = csi2rx_enum_mbus_code, .get_fmt = v4l2_subdev_get_fmt, .set_fmt = csi2rx_set_fmt, };