media: i2c: imx334: replace __v4l2_ctrl_s_ctrl to __v4l2_ctrl_modify_range

For every mode we will get new set of values for hbalnk so use
__v4l2_ctrl_modify_range() to support multi modes for hblank.

The hblank value is readonly in the driver. because of this the function
returns error if we try to change. so added dumy return case in
imx334_set_ctrl function.

Reviewed-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com>
Suggested-by: Jacopo Mondi <jacopo@jmondi.org>
Signed-off-by: Shravan Chippa <shravan.chippa@microchip.com>
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
This commit is contained in:
Shravan Chippa 2023-03-01 08:34:08 +01:00 committed by Mauro Carvalho Chehab
parent 7370f639bb
commit d6e34091ad

View file

@ -382,7 +382,8 @@ static int imx334_update_controls(struct imx334 *imx334,
if (ret)
return ret;
ret = __v4l2_ctrl_s_ctrl(imx334->hblank_ctrl, mode->hblank);
ret = __v4l2_ctrl_modify_range(imx334->hblank_ctrl, mode->hblank,
mode->hblank, 1, mode->hblank);
if (ret)
return ret;
@ -480,6 +481,9 @@ static int imx334_set_ctrl(struct v4l2_ctrl *ctrl)
pm_runtime_put(imx334->dev);
break;
case V4L2_CID_HBLANK:
ret = 0;
break;
default:
dev_err(imx334->dev, "Invalid control %d", ctrl->id);