diff options
Diffstat (limited to 'drivers/media/platform/via-camera.c')
-rw-r--r-- | drivers/media/platform/via-camera.c | 15 |
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 | ||