V4L/DVB (12526): ov772x: do not use scaling for cropping
[linux-2.6.git] / drivers / media / video / ov772x.c
index b720558..03488f9 100644 (file)
@@ -955,23 +955,22 @@ ov772x_set_fmt_error:
        return ret;
 }
 
+/* Cannot crop, just return the current geometry */
 static int ov772x_set_crop(struct soc_camera_device *icd,
                           struct v4l2_rect *rect)
 {
        struct i2c_client *client = to_i2c_client(to_soc_camera_control(icd));
        struct ov772x_priv *priv = to_ov772x(client);
-       int ret;
 
-       if (!priv->fmt)
+       if (!priv->fmt || !priv->win)
                return -EINVAL;
 
-       ret = ov772x_set_params(client, &rect->width, &rect->height,
-                               priv->fmt->fourcc);
-       if (!ret) {
-               rect->left = 0;
-               rect->top = 0;
-       }
-       return ret;
+       rect->left = 0;
+       rect->top = 0;
+       rect->width = priv->win->width;
+       rect->height = priv->win->height;
+
+       return 0;
 }
 
 static int ov772x_s_fmt(struct v4l2_subdev *sd, struct v4l2_format *f)