media: vivid: Add an area control
authorRicardo Ribalda Delgado <ribalda@kernel.org>
Mon, 4 Nov 2019 13:09:20 +0000 (14:09 +0100)
committerMauro Carvalho Chehab <mchehab@kernel.org>
Fri, 8 Nov 2019 06:41:21 +0000 (07:41 +0100)
This control represents a generic read/write area.

Suggested-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Ricardo Ribalda Delgado <ribalda@kernel.org>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
drivers/media/platform/vivid/vivid-ctrls.c

index b250fc3..68e8124 100644 (file)
@@ -32,6 +32,7 @@
 #define VIVID_CID_U32_ARRAY            (VIVID_CID_CUSTOM_BASE + 8)
 #define VIVID_CID_U16_MATRIX           (VIVID_CID_CUSTOM_BASE + 9)
 #define VIVID_CID_U8_4D_ARRAY          (VIVID_CID_CUSTOM_BASE + 10)
+#define VIVID_CID_AREA                 (VIVID_CID_CUSTOM_BASE + 11)
 
 #define VIVID_CID_VIVID_BASE           (0x00f00000 | 0xf000)
 #define VIVID_CID_VIVID_CLASS          (0x00f00000 | 1)
@@ -266,6 +267,18 @@ static const struct v4l2_ctrl_config vivid_ctrl_disconnect = {
        .type = V4L2_CTRL_TYPE_BUTTON,
 };
 
+static const struct v4l2_area area = {
+       .width = 1000,
+       .height = 2000,
+};
+
+static const struct v4l2_ctrl_config vivid_ctrl_area = {
+       .ops = &vivid_user_gen_ctrl_ops,
+       .id = VIVID_CID_AREA,
+       .name = "Area",
+       .type = V4L2_CTRL_TYPE_AREA,
+       .p_def.p_const = &area,
+};
 
 /* Framebuffer Controls */
 
@@ -1574,6 +1587,7 @@ int vivid_create_controls(struct vivid_dev *dev, bool show_ccs_cap,
        dev->string = v4l2_ctrl_new_custom(hdl_user_gen, &vivid_ctrl_string, NULL);
        dev->bitmask = v4l2_ctrl_new_custom(hdl_user_gen, &vivid_ctrl_bitmask, NULL);
        dev->int_menu = v4l2_ctrl_new_custom(hdl_user_gen, &vivid_ctrl_int_menu, 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_u16_matrix, NULL);
        v4l2_ctrl_new_custom(hdl_user_gen, &vivid_ctrl_u8_4d_array, NULL);