[media] ov772x: Don't access the device in the g_mbus_fmt operation
authorLaurent Pinchart <laurent.pinchart@ideasonboard.com>
Wed, 18 Jul 2012 13:53:59 +0000 (10:53 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Mon, 30 Jul 2012 22:15:13 +0000 (19:15 -0300)
The g_mbus_fmt operation only needs to return the current mbus frame
format and doesn't need to configure the hardware to do so. Fix it to
avoid requiring the chip to be powered on when calling the operation.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/media/video/ov772x.c

index 74e77d327ed864e03843898dfd4c22defc5d305c..6d79b89b860340dddaf2ae0c1f64f3d121ee1f2d 100644 (file)
@@ -880,15 +880,11 @@ static int ov772x_cropcap(struct v4l2_subdev *sd, struct v4l2_cropcap *a)
 static int ov772x_g_fmt(struct v4l2_subdev *sd,
                        struct v4l2_mbus_framefmt *mf)
 {
-       struct i2c_client *client = v4l2_get_subdevdata(sd);
        struct ov772x_priv *priv = container_of(sd, struct ov772x_priv, subdev);
 
        if (!priv->win || !priv->cfmt) {
-               u32 width = VGA_WIDTH, height = VGA_HEIGHT;
-               int ret = ov772x_set_params(client, &width, &height,
-                                           V4L2_MBUS_FMT_YUYV8_2X8);
-               if (ret < 0)
-                       return ret;
+               priv->cfmt = &ov772x_cfmts[0];
+               priv->win = ov772x_select_win(VGA_WIDTH, VGA_HEIGHT);
        }
 
        mf->width       = priv->win->width;
This page took 0.040868 seconds and 5 git commands to generate.