Connect ov5645_{g,s}_parm to mtk_mipicsi

- Subdevs no longer support g_parm or s_parm, so manually call into our
driver from the mipicsi device.

Change-Id: Iee7568dcb3fcbd4fceed957526d479652d7c1592
diff --git a/drivers/media/platform/mtk-mipicsi/mtk_mipicsi.c b/drivers/media/platform/mtk-mipicsi/mtk_mipicsi.c
index 683c775..0a13059 100644
--- a/drivers/media/platform/mtk-mipicsi/mtk_mipicsi.c
+++ b/drivers/media/platform/mtk-mipicsi/mtk_mipicsi.c
@@ -1004,6 +1004,20 @@
 	return 0;
 }
 
+extern int ov5645_s_parm(struct v4l2_subdev *sd, struct v4l2_streamparm *parm);
+static int mtk_s_parm(struct file *file, void *fh, struct v4l2_streamparm *parm) {
+	struct mtk_mipicsi_dev *mipicsi = video_drvdata(file);
+	struct v4l2_subdev *sd = mipicsi->mipicsi_sd.subdev;
+	return ov5645_s_parm(sd, parm);
+}
+
+extern int ov5645_g_parm(struct v4l2_subdev *sd, struct v4l2_streamparm *parm);
+static int mtk_g_parm(struct file *file, void *fh, struct v4l2_streamparm *parm) {
+	struct mtk_mipicsi_dev *mipicsi = video_drvdata(file);
+	struct v4l2_subdev *sd = mipicsi->mipicsi_sd.subdev;
+	return ov5645_g_parm(sd, parm);
+}
+
 static const struct v4l2_ioctl_ops mtk_mipicsi_ioctl_ops = {
 	.vidioc_querycap                = mtk_mipicsi_querycap,
 
@@ -1015,6 +1029,8 @@
 	.vidioc_enum_input              = mtk_enum_input,
 	.vidioc_g_input                 = mtk_g_input,
 	.vidioc_s_input                 = mtk_s_input,
+	.vidioc_g_parm                  = mtk_g_parm,
+	.vidioc_s_parm                  = mtk_s_parm,
 
 	.vidioc_reqbufs                 = vb2_ioctl_reqbufs,
 	.vidioc_create_bufs             = vb2_ioctl_create_bufs,
diff --git a/drivers/media/platform/mxc/capture/ov5645_mipi_v2.c b/drivers/media/platform/mxc/capture/ov5645_mipi_v2.c
index 1e5fc05..a843cbf 100644
--- a/drivers/media/platform/mxc/capture/ov5645_mipi_v2.c
+++ b/drivers/media/platform/mxc/capture/ov5645_mipi_v2.c
@@ -3055,7 +3055,7 @@
  *
  * Returns the sensor's video CAPTURE parameters.
  */
-static int ov5645_g_parm(struct v4l2_subdev *sd, struct v4l2_streamparm *a)
+int ov5645_g_parm(struct v4l2_subdev *sd, struct v4l2_streamparm *a)
 {
 	struct i2c_client *client = v4l2_get_subdevdata(sd);
 	struct ov5645 *sensor = to_ov5645(client);
@@ -3101,7 +3101,7 @@
  * not possible, reverts to the old parameters and returns the
  * appropriate error code.
  */
-static int ov5645_s_parm(struct v4l2_subdev *sd, struct v4l2_streamparm *a)
+int ov5645_s_parm(struct v4l2_subdev *sd, struct v4l2_streamparm *a)
 {
 	struct i2c_client *client = v4l2_get_subdevdata(sd);
 	struct ov5645 *sensor = to_ov5645(client);