These changes are the raw update to linux-4.4.6-rt14. Kernel sources
[kvmfornfv.git] / kernel / drivers / media / platform / via-camera.c
index 678ed9f..32e4ff4 100644 (file)
@@ -249,13 +249,15 @@ static int viacam_set_flip(struct via_camera *cam)
  */
 static int viacam_configure_sensor(struct via_camera *cam)
 {
-       struct v4l2_mbus_framefmt mbus_fmt;
+       struct v4l2_subdev_format format = {
+               .which = V4L2_SUBDEV_FORMAT_ACTIVE,
+       };
        int ret;
 
-       v4l2_fill_mbus_format(&mbus_fmt, &cam->sensor_format, cam->mbus_code);
+       v4l2_fill_mbus_format(&format.format, &cam->sensor_format, cam->mbus_code);
        ret = sensor_call(cam, core, init, 0);
        if (ret == 0)
-               ret = sensor_call(cam, video, s_mbus_fmt, &mbus_fmt);
+               ret = sensor_call(cam, pad, set_fmt, NULL, &format);
        /*
         * OV7670 does weird things if flip is set *before* format...
         */
@@ -903,14 +905,17 @@ static int viacam_do_try_fmt(struct via_camera *cam,
                struct v4l2_pix_format *upix, struct v4l2_pix_format *spix)
 {
        int ret;
-       struct v4l2_mbus_framefmt mbus_fmt;
+       struct v4l2_subdev_pad_config pad_cfg;
+       struct v4l2_subdev_format format = {
+               .which = V4L2_SUBDEV_FORMAT_TRY,
+       };
        struct via_format *f = via_find_format(upix->pixelformat);
 
        upix->pixelformat = f->pixelformat;
        viacam_fmt_pre(upix, spix);
-       v4l2_fill_mbus_format(&mbus_fmt, spix, f->mbus_code);
-       ret = sensor_call(cam, video, try_mbus_fmt, &mbus_fmt);
-       v4l2_fill_pix_format(spix, &mbus_fmt);
+       v4l2_fill_mbus_format(&format.format, spix, f->mbus_code);
+       ret = sensor_call(cam, pad, set_fmt, &pad_cfg, &format);
+       v4l2_fill_pix_format(spix, &format.format);
        viacam_fmt_post(upix, spix);
        return ret;
 }