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 |
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); >
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 --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);
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(+)