aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media
diff options
context:
space:
mode:
authorChanghuang Liang <changhuang.liang@starfivetech.com>2023-12-11 01:43:29 -0800
committerHans Verkuil <hverkuil-cisco@xs4all.nl>2024-01-22 17:23:59 +0100
commitc2716904918e99ca4b77354dd46ceec2d9ba2ff6 (patch)
tree1a256c40c55b62c84d755ebb382f3148fcb851c9 /drivers/media
parent999eb5f8107a8a1e5ff003ffca2e75dcbc30f7a7 (diff)
downloadlinux-c2716904918e99ca4b77354dd46ceec2d9ba2ff6.tar.gz
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 <changhuang.liang@starfivetech.com> Reviewed-by: Julien Massot <julien.massot@collabora.com> Tested-by: Julien Massot <julien.massot@collabora.com> Reviewed-by: Jai Luthra <j-luthra@ti.com> Tested-by: Jai Luthra <j-luthra@ti.com> # [Test on sk-am62a] Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Diffstat (limited to 'drivers/media')
-rw-r--r--drivers/media/platform/cadence/cdns-csi2rx.c13
1 files changed, 13 insertions, 0 deletions
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,
};