diff mbox series

[v3,3/5] media: vivid: Add an area control

Message ID 20191101112358.29538-3-ribalda@kernel.org (mailing list archive)
State New, archived
Headers show
Series [v3,1/5] media: v4l2_ctrl: Add p_def to v4l2_ctrl_config | expand

Commit Message

Ricardo Ribalda Delgado Nov. 1, 2019, 11:23 a.m. UTC
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>
---
 drivers/media/platform/vivid/vivid-ctrls.c | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

Comments

Hans Verkuil Nov. 4, 2019, 9:43 a.m. UTC | #1
On 11/1/19 12:23 PM, Ricardo Ribalda Delgado wrote:
> 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>
> ---
>  drivers/media/platform/vivid/vivid-ctrls.c | 14 ++++++++++++++
>  1 file changed, 14 insertions(+)
> 
> diff --git a/drivers/media/platform/vivid/vivid-ctrls.c b/drivers/media/platform/vivid/vivid-ctrls.c
> index b250fc3764e2..fd35863798a7 100644
> --- a/drivers/media/platform/vivid/vivid-ctrls.c
> +++ b/drivers/media/platform/vivid/vivid-ctrls.c
> @@ -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 = 0xcafe,
> +	.height = 0xb1b1d,

I don't think there is any need for these weird values. Just set this to
e.g. 1000x2000. Just as long as width and height are different.

Regards,

	Hans

> +};
> +
> +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);
>
Ricardo Ribalda Delgado Nov. 4, 2019, 10:11 a.m. UTC | #2
Hi hans

On Mon, Nov 4, 2019 at 10:44 AM Hans Verkuil <hverkuil-cisco@xs4all.nl> wrote:
>
> On 11/1/19 12:23 PM, Ricardo Ribalda Delgado wrote:
> > 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>
> > ---
> >  drivers/media/platform/vivid/vivid-ctrls.c | 14 ++++++++++++++
> >  1 file changed, 14 insertions(+)
> >
> > diff --git a/drivers/media/platform/vivid/vivid-ctrls.c b/drivers/media/platform/vivid/vivid-ctrls.c
> > index b250fc3764e2..fd35863798a7 100644
> > --- a/drivers/media/platform/vivid/vivid-ctrls.c
> > +++ b/drivers/media/platform/vivid/vivid-ctrls.c
> > @@ -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 = 0xcafe,
> > +     .height = 0xb1b1d,
>
> I don't think there is any need for these weird values. Just set this to
> e.g. 1000x2000. Just as long as width and height are different.
>
> Regards,

Sure. I will change that.

I though anyone liked vivid cafe ;P


>
>         Hans
>
> > +};
> > +
> > +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);
> >
>
diff mbox series

Patch

diff --git a/drivers/media/platform/vivid/vivid-ctrls.c b/drivers/media/platform/vivid/vivid-ctrls.c
index b250fc3764e2..fd35863798a7 100644
--- a/drivers/media/platform/vivid/vivid-ctrls.c
+++ b/drivers/media/platform/vivid/vivid-ctrls.c
@@ -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 = 0xcafe,
+	.height = 0xb1b1d,
+};
+
+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);