Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0d205b6a authored by Guennadi Liakhovetski's avatar Guennadi Liakhovetski Committed by Mauro Carvalho Chehab
Browse files

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: default avatarGuennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
parent e330919a
Loading
Loading
Loading
Loading
+8 −2
Original line number Diff line number Diff line
@@ -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 ov772x_priv *priv = to_ov772x(client);
	int ret;

	if (!priv->fmt)
		return -EINVAL;

	return ov772x_set_params(client, &rect->width, &rect->height,
	ret = ov772x_set_params(client, &rect->width, &rect->height,
				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)