aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/video/soc_camera.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/media/video/soc_camera.c')
-rw-r--r--drivers/media/video/soc_camera.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/drivers/media/video/soc_camera.c b/drivers/media/video/soc_camera.c
index 6876fdcbf8d7..c11a080b06ad 100644
--- a/drivers/media/video/soc_camera.c
+++ b/drivers/media/video/soc_camera.c
@@ -1146,6 +1146,20 @@ static int default_s_crop(struct soc_camera_device *icd, struct v4l2_crop *a)
1146 return v4l2_subdev_call(sd, video, s_crop, a); 1146 return v4l2_subdev_call(sd, video, s_crop, a);
1147} 1147}
1148 1148
1149static int default_g_parm(struct soc_camera_device *icd,
1150 struct v4l2_streamparm *parm)
1151{
1152 struct v4l2_subdev *sd = soc_camera_to_subdev(icd);
1153 return v4l2_subdev_call(sd, video, g_parm, parm);
1154}
1155
1156static int default_s_parm(struct soc_camera_device *icd,
1157 struct v4l2_streamparm *parm)
1158{
1159 struct v4l2_subdev *sd = soc_camera_to_subdev(icd);
1160 return v4l2_subdev_call(sd, video, s_parm, parm);
1161}
1162
1149static void soc_camera_device_init(struct device *dev, void *pdata) 1163static void soc_camera_device_init(struct device *dev, void *pdata)
1150{ 1164{
1151 dev->platform_data = pdata; 1165 dev->platform_data = pdata;
@@ -1177,6 +1191,10 @@ int soc_camera_host_register(struct soc_camera_host *ici)
1177 ici->ops->get_crop = default_g_crop; 1191 ici->ops->get_crop = default_g_crop;
1178 if (!ici->ops->cropcap) 1192 if (!ici->ops->cropcap)
1179 ici->ops->cropcap = default_cropcap; 1193 ici->ops->cropcap = default_cropcap;
1194 if (!ici->ops->set_parm)
1195 ici->ops->set_parm = default_s_parm;
1196 if (!ici->ops->get_parm)
1197 ici->ops->get_parm = default_g_parm;
1180 1198
1181 mutex_lock(&list_lock); 1199 mutex_lock(&list_lock);
1182 list_for_each_entry(ix, &hosts, list) { 1200 list_for_each_entry(ix, &hosts, list) {