diff options
author | Changhuang Liang <changhuang.liang@starfivetech.com> | 2023-12-11 12:43:29 +0300 |
---|---|---|
committer | Hans Verkuil <hverkuil-cisco@xs4all.nl> | 2024-01-22 19:23:59 +0300 |
commit | c2716904918e99ca4b77354dd46ceec2d9ba2ff6 (patch) | |
tree | 1a256c40c55b62c84d755ebb382f3148fcb851c9 /drivers/media/platform | |
parent | 999eb5f8107a8a1e5ff003ffca2e75dcbc30f7a7 (diff) | |
download | linux-c2716904918e99ca4b77354dd46ceec2d9ba2ff6.tar.xz |
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/platform')
-rw-r--r-- | drivers/media/platform/cadence/cdns-csi2rx.c | 13 |
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 401d9a7c65f8..2d7b0508cc9a 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, }; |