[media] ov9740: avoid calling ov9740_res_roundup() twice
authorHans Verkuil <hans.verkuil@cisco.com>
Mon, 4 May 2015 10:25:55 +0000 (07:25 -0300)
committerMauro Carvalho Chehab <mchehab@s-opensource.com>
Sat, 15 Apr 2017 01:32:26 +0000 (22:32 -0300)
Simplify ov9740_s_fmt.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Reported-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
drivers/media/i2c/soc_camera/ov9740.c

index 2436ed54f63f3ac5bb79f7b432cb6a602dc2a980..cc07b7ae54077d3fab10ef8f11c1c4395d9ba1a8 100644 (file)
@@ -673,20 +673,8 @@ static int ov9740_s_fmt(struct v4l2_subdev *sd,
 {
        struct i2c_client *client = v4l2_get_subdevdata(sd);
        struct ov9740_priv *priv = to_ov9740(sd);
-       enum v4l2_colorspace cspace;
-       u32 code = mf->code;
        int ret;
 
-       ov9740_res_roundup(&mf->width, &mf->height);
-
-       switch (code) {
-       case MEDIA_BUS_FMT_YUYV8_2X8:
-               cspace = V4L2_COLORSPACE_SRGB;
-               break;
-       default:
-               return -EINVAL;
-       }
-
        ret = ov9740_reg_write_array(client, ov9740_defaults,
                                     ARRAY_SIZE(ov9740_defaults));
        if (ret < 0)
@@ -696,11 +684,7 @@ static int ov9740_s_fmt(struct v4l2_subdev *sd,
        if (ret < 0)
                return ret;
 
-       mf->code        = code;
-       mf->colorspace  = cspace;
-
-       memcpy(&priv->current_mf, mf, sizeof(struct v4l2_mbus_framefmt));
-
+       priv->current_mf = *mf;
        return ret;
 }