media: vivid: add dynamic array test control
authorHans Verkuil <hverkuil-cisco@xs4all.nl>
Fri, 8 Jul 2022 16:21:42 +0000 (17:21 +0100)
committerMauro Carvalho Chehab <mchehab@kernel.org>
Fri, 15 Jul 2022 15:22:32 +0000 (16:22 +0100)
Add a dynamic array test control to help test support for this
feature.

Acked-by: Nicolas Dufresne <nicolas.dufresne@collabora.com>
Tested-by: Benjamin Gaignard <benjamin.gaignard@collabora.com>
Tested-by: Jernej Skrabec <jernej.skrabec@gmail.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
drivers/media/test-drivers/vivid/vivid-ctrls.c

index 7ff8fdfda28e08cfc826c9e7f4a7ac72e069974e..a78d676575bcae619d9ad098609180efee77dbea 100644 (file)
@@ -34,6 +34,7 @@
 #define VIVID_CID_U8_4D_ARRAY          (VIVID_CID_CUSTOM_BASE + 10)
 #define VIVID_CID_AREA                 (VIVID_CID_CUSTOM_BASE + 11)
 #define VIVID_CID_RO_INTEGER           (VIVID_CID_CUSTOM_BASE + 12)
+#define VIVID_CID_U32_DYN_ARRAY                (VIVID_CID_CUSTOM_BASE + 13)
 
 #define VIVID_CID_VIVID_BASE           (0x00f00000 | 0xf000)
 #define VIVID_CID_VIVID_CLASS          (0x00f00000 | 1)
@@ -190,6 +191,19 @@ static const struct v4l2_ctrl_config vivid_ctrl_u32_array = {
        .dims = { 1 },
 };
 
+static const struct v4l2_ctrl_config vivid_ctrl_u32_dyn_array = {
+       .ops = &vivid_user_gen_ctrl_ops,
+       .id = VIVID_CID_U32_DYN_ARRAY,
+       .name = "U32 Dynamic Array",
+       .type = V4L2_CTRL_TYPE_U32,
+       .flags = V4L2_CTRL_FLAG_DYNAMIC_ARRAY,
+       .def = 50,
+       .min = 10,
+       .max = 90,
+       .step = 1,
+       .dims = { 100 },
+};
+
 static const struct v4l2_ctrl_config vivid_ctrl_u16_matrix = {
        .ops = &vivid_user_gen_ctrl_ops,
        .id = VIVID_CID_U16_MATRIX,
@@ -1625,6 +1639,7 @@ int vivid_create_controls(struct vivid_dev *dev, bool show_ccs_cap,
        dev->ro_int32 = v4l2_ctrl_new_custom(hdl_user_gen, &vivid_ctrl_ro_int32, NULL);
        v4l2_ctrl_new_custom(hdl_user_gen, &vivid_ctrl_area, NULL);
        v4l2_ctrl_new_custom(hdl_user_gen, &vivid_ctrl_u32_array, NULL);
+       v4l2_ctrl_new_custom(hdl_user_gen, &vivid_ctrl_u32_dyn_array, NULL);
        v4l2_ctrl_new_custom(hdl_user_gen, &vivid_ctrl_u16_matrix, NULL);
        v4l2_ctrl_new_custom(hdl_user_gen, &vivid_ctrl_u8_4d_array, NULL);