[media] ov2640: Don't access the device in the g_mbus_fmt operation
authorLaurent Pinchart <laurent.pinchart@ideasonboard.com>
Wed, 18 Jul 2012 13:53:58 +0000 (10:53 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Mon, 30 Jul 2012 22:14:48 +0000 (19:14 -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/ov2640.c

index 3c2c5d3bcc6b17363060701f18d432f496446d58..7c44d1fe3c87a8224823e2357c297abfa5b43968 100644 (file)
@@ -837,10 +837,8 @@ static int ov2640_g_fmt(struct v4l2_subdev *sd,
 
        if (!priv->win) {
                u32 width = W_SVGA, height = H_SVGA;
-               int ret = ov2640_set_params(client, &width, &height,
-                                           V4L2_MBUS_FMT_UYVY8_2X8);
-               if (ret < 0)
-                       return ret;
+               priv->win = ov2640_select_win(&width, &height);
+               priv->cfmt_code = V4L2_MBUS_FMT_UYVY8_2X8;
        }
 
        mf->width       = priv->win->width;