V4L/DVB (12518): ov772x: S_CROP must return actually configured geometry
V4L2 drivers are allowed to configure a geometry different than what has been requested by the user with S_CROP, but then they have to adjust the input rectangle accordingly. Fix ov772x to comply with this requirement. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
This commit is contained in:
parent
e330919a21
commit
0d205b6a09
@ -960,12 +960,18 @@ static int ov772x_set_crop(struct soc_camera_device *icd,
|
|||||||
{
|
{
|
||||||
struct i2c_client *client = to_i2c_client(to_soc_camera_control(icd));
|
struct i2c_client *client = to_i2c_client(to_soc_camera_control(icd));
|
||||||
struct ov772x_priv *priv = to_ov772x(client);
|
struct ov772x_priv *priv = to_ov772x(client);
|
||||||
|
int ret;
|
||||||
|
|
||||||
if (!priv->fmt)
|
if (!priv->fmt)
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
|
||||||
return ov772x_set_params(client, &rect->width, &rect->height,
|
ret = ov772x_set_params(client, &rect->width, &rect->height,
|
||||||
priv->fmt->fourcc);
|
priv->fmt->fourcc);
|
||||||
|
if (!ret) {
|
||||||
|
rect->left = 0;
|
||||||
|
rect->top = 0;
|
||||||
|
}
|
||||||
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int ov772x_s_fmt(struct v4l2_subdev *sd, struct v4l2_format *f)
|
static int ov772x_s_fmt(struct v4l2_subdev *sd, struct v4l2_format *f)
|
||||||
|
Loading…
Reference in New Issue
Block a user