Message ID | 20180904014559.15765-1-gagallo7@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [v2] media: vimc: implement basic v4l2-ctrls | expand |
Hi Guilherme, On 09/04/2018 03:45 AM, Guilherme Gallo wrote: > Add brightness, contrast, hue and saturation controls in vimc-sensor > > Signed-off-by: Guilherme Alcarde Gallo <gagallo7@gmail.com> > Signed-off-by: Guilherme Gallo <gagallo7@gmail.com> Looks good, but you have (probably unintended) two Signed-off-by lines. Just let me know which one I should use and I'll drop the other one. Regards, Hans > --- > drivers/media/platform/vimc/vimc-sensor.c | 20 ++++++++++++++++++++ > 1 file changed, 20 insertions(+) > > diff --git a/drivers/media/platform/vimc/vimc-sensor.c b/drivers/media/platform/vimc/vimc-sensor.c > index b2b89315e7ba..edf4c85ae63d 100644 > --- a/drivers/media/platform/vimc/vimc-sensor.c > +++ b/drivers/media/platform/vimc/vimc-sensor.c > @@ -317,6 +317,18 @@ static int vimc_sen_s_ctrl(struct v4l2_ctrl *ctrl) > case V4L2_CID_VFLIP: > tpg_s_vflip(&vsen->tpg, ctrl->val); > break; > + case V4L2_CID_BRIGHTNESS: > + tpg_s_brightness(&vsen->tpg, ctrl->val); > + break; > + case V4L2_CID_CONTRAST: > + tpg_s_contrast(&vsen->tpg, ctrl->val); > + break; > + case V4L2_CID_HUE: > + tpg_s_hue(&vsen->tpg, ctrl->val); > + break; > + case V4L2_CID_SATURATION: > + tpg_s_saturation(&vsen->tpg, ctrl->val); > + break; > default: > return -EINVAL; > } > @@ -378,6 +390,14 @@ static int vimc_sen_comp_bind(struct device *comp, struct device *master, > V4L2_CID_VFLIP, 0, 1, 1, 0); > v4l2_ctrl_new_std(&vsen->hdl, &vimc_sen_ctrl_ops, > V4L2_CID_HFLIP, 0, 1, 1, 0); > + v4l2_ctrl_new_std(&vsen->hdl, &vimc_sen_ctrl_ops, > + V4L2_CID_BRIGHTNESS, 0, 255, 1, 128); > + v4l2_ctrl_new_std(&vsen->hdl, &vimc_sen_ctrl_ops, > + V4L2_CID_CONTRAST, 0, 255, 1, 128); > + v4l2_ctrl_new_std(&vsen->hdl, &vimc_sen_ctrl_ops, > + V4L2_CID_HUE, -128, 127, 1, 0); > + v4l2_ctrl_new_std(&vsen->hdl, &vimc_sen_ctrl_ops, > + V4L2_CID_SATURATION, 0, 255, 1, 128); > vsen->sd.ctrl_handler = &vsen->hdl; > if (vsen->hdl.error) { > ret = vsen->hdl.error; >
On Tue, Sep 4, 2018 at 3:40 AM Hans Verkuil <hverkuil@xs4all.nl> wrote: > > Hi Guilherme, Hi Hans. > > On 09/04/2018 03:45 AM, Guilherme Gallo wrote: > > Add brightness, contrast, hue and saturation controls in vimc-sensor > > > > Signed-off-by: Guilherme Alcarde Gallo <gagallo7@gmail.com> > > Signed-off-by: Guilherme Gallo <gagallo7@gmail.com> > > Looks good, but you have (probably unintended) two Signed-off-by lines. > Just let me know which one I should use and I'll drop the other one. Yeah, it was unintended. Sorry for that. Please pick this one: Signed-off-by: Guilherme Alcarde Gallo <gagallo7@gmail.com> Thanks for pointing that. Guilherme
diff --git a/drivers/media/platform/vimc/vimc-sensor.c b/drivers/media/platform/vimc/vimc-sensor.c index b2b89315e7ba..edf4c85ae63d 100644 --- a/drivers/media/platform/vimc/vimc-sensor.c +++ b/drivers/media/platform/vimc/vimc-sensor.c @@ -317,6 +317,18 @@ static int vimc_sen_s_ctrl(struct v4l2_ctrl *ctrl) case V4L2_CID_VFLIP: tpg_s_vflip(&vsen->tpg, ctrl->val); break; + case V4L2_CID_BRIGHTNESS: + tpg_s_brightness(&vsen->tpg, ctrl->val); + break; + case V4L2_CID_CONTRAST: + tpg_s_contrast(&vsen->tpg, ctrl->val); + break; + case V4L2_CID_HUE: + tpg_s_hue(&vsen->tpg, ctrl->val); + break; + case V4L2_CID_SATURATION: + tpg_s_saturation(&vsen->tpg, ctrl->val); + break; default: return -EINVAL; } @@ -378,6 +390,14 @@ static int vimc_sen_comp_bind(struct device *comp, struct device *master, V4L2_CID_VFLIP, 0, 1, 1, 0); v4l2_ctrl_new_std(&vsen->hdl, &vimc_sen_ctrl_ops, V4L2_CID_HFLIP, 0, 1, 1, 0); + v4l2_ctrl_new_std(&vsen->hdl, &vimc_sen_ctrl_ops, + V4L2_CID_BRIGHTNESS, 0, 255, 1, 128); + v4l2_ctrl_new_std(&vsen->hdl, &vimc_sen_ctrl_ops, + V4L2_CID_CONTRAST, 0, 255, 1, 128); + v4l2_ctrl_new_std(&vsen->hdl, &vimc_sen_ctrl_ops, + V4L2_CID_HUE, -128, 127, 1, 0); + v4l2_ctrl_new_std(&vsen->hdl, &vimc_sen_ctrl_ops, + V4L2_CID_SATURATION, 0, 255, 1, 128); vsen->sd.ctrl_handler = &vsen->hdl; if (vsen->hdl.error) { ret = vsen->hdl.error;