aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/platform/via-camera.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/media/platform/via-camera.c')
-rw-r--r--drivers/media/platform/via-camera.c15
1 files changed, 13 insertions, 2 deletions
diff --git a/drivers/media/platform/via-camera.c b/drivers/media/platform/via-camera.c
index 86989d86abfa..678ed9f353cb 100644
--- a/drivers/media/platform/via-camera.c
+++ b/drivers/media/platform/via-camera.c
@@ -1147,12 +1147,23 @@ static int viacam_enum_frameintervals(struct file *filp, void *priv,
1147 struct v4l2_frmivalenum *interval) 1147 struct v4l2_frmivalenum *interval)
1148{ 1148{
1149 struct via_camera *cam = priv; 1149 struct via_camera *cam = priv;
1150 struct v4l2_subdev_frame_interval_enum fie = {
1151 .index = interval->index,
1152 .code = cam->mbus_code,
1153 .width = cam->sensor_format.width,
1154 .height = cam->sensor_format.height,
1155 .which = V4L2_SUBDEV_FORMAT_ACTIVE,
1156 };
1150 int ret; 1157 int ret;
1151 1158
1152 mutex_lock(&cam->lock); 1159 mutex_lock(&cam->lock);
1153 ret = sensor_call(cam, video, enum_frameintervals, interval); 1160 ret = sensor_call(cam, pad, enum_frame_interval, NULL, &fie);
1154 mutex_unlock(&cam->lock); 1161 mutex_unlock(&cam->lock);
1155 return ret; 1162 if (ret)
1163 return ret;
1164 interval->type = V4L2_FRMIVAL_TYPE_DISCRETE;
1165 interval->discrete = fie.interval;
1166 return 0;
1156} 1167}
1157 1168
1158 1169