diff options
author | Guennadi Liakhovetski <g.liakhovetski@gmx.de> | 2011-07-28 13:42:23 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2011-11-03 16:27:58 -0400 |
commit | 0125b7c2fcc324bccd9c5e56b4afeecaac14c56d (patch) | |
tree | 99f4ab00a959b280194e62c812e5b2a29bc6d50d | |
parent | ff51345832628eb641805a01213aeae0bb4a23c1 (diff) |
[media] V4L: mt9v022: remove superfluous soc-camera client operations
Now that all soc-camera hosts have been ported to use V4L2 subdevice
mediabus-config operations and soc-camera client bus-parameter operations
have been made optional, they can be removed.
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
-rw-r--r-- | drivers/media/video/mt9v022.c | 74 |
1 files changed, 0 insertions, 74 deletions
diff --git a/drivers/media/video/mt9v022.c b/drivers/media/video/mt9v022.c index ddc11d0a625..53149a73874 100644 --- a/drivers/media/video/mt9v022.c +++ b/drivers/media/video/mt9v022.c | |||
@@ -200,78 +200,6 @@ static int mt9v022_s_stream(struct v4l2_subdev *sd, int enable) | |||
200 | return 0; | 200 | return 0; |
201 | } | 201 | } |
202 | 202 | ||
203 | static int mt9v022_set_bus_param(struct soc_camera_device *icd, | ||
204 | unsigned long flags) | ||
205 | { | ||
206 | struct i2c_client *client = to_i2c_client(to_soc_camera_control(icd)); | ||
207 | struct mt9v022 *mt9v022 = to_mt9v022(client); | ||
208 | struct soc_camera_link *icl = to_soc_camera_link(icd); | ||
209 | unsigned int width_flag = flags & SOCAM_DATAWIDTH_MASK; | ||
210 | int ret; | ||
211 | u16 pixclk = 0; | ||
212 | |||
213 | /* Only one width bit may be set */ | ||
214 | if (!is_power_of_2(width_flag)) | ||
215 | return -EINVAL; | ||
216 | |||
217 | if (icl->set_bus_param) { | ||
218 | ret = icl->set_bus_param(icl, width_flag); | ||
219 | if (ret) | ||
220 | return ret; | ||
221 | } else { | ||
222 | /* | ||
223 | * Without board specific bus width settings we only support the | ||
224 | * sensors native bus width | ||
225 | */ | ||
226 | if (width_flag != SOCAM_DATAWIDTH_10) | ||
227 | return -EINVAL; | ||
228 | } | ||
229 | |||
230 | flags = soc_camera_apply_sensor_flags(icl, flags); | ||
231 | |||
232 | if (flags & SOCAM_PCLK_SAMPLE_FALLING) | ||
233 | pixclk |= 0x10; | ||
234 | |||
235 | if (!(flags & SOCAM_HSYNC_ACTIVE_HIGH)) | ||
236 | pixclk |= 0x1; | ||
237 | |||
238 | if (!(flags & SOCAM_VSYNC_ACTIVE_HIGH)) | ||
239 | pixclk |= 0x2; | ||
240 | |||
241 | ret = reg_write(client, MT9V022_PIXCLK_FV_LV, pixclk); | ||
242 | if (ret < 0) | ||
243 | return ret; | ||
244 | |||
245 | if (!(flags & SOCAM_MASTER)) | ||
246 | mt9v022->chip_control &= ~0x8; | ||
247 | |||
248 | ret = reg_write(client, MT9V022_CHIP_CONTROL, mt9v022->chip_control); | ||
249 | if (ret < 0) | ||
250 | return ret; | ||
251 | |||
252 | dev_dbg(&client->dev, "Calculated pixclk 0x%x, chip control 0x%x\n", | ||
253 | pixclk, mt9v022->chip_control); | ||
254 | |||
255 | return 0; | ||
256 | } | ||
257 | |||
258 | static unsigned long mt9v022_query_bus_param(struct soc_camera_device *icd) | ||
259 | { | ||
260 | struct soc_camera_link *icl = to_soc_camera_link(icd); | ||
261 | unsigned int flags = SOCAM_MASTER | SOCAM_SLAVE | | ||
262 | SOCAM_PCLK_SAMPLE_RISING | SOCAM_PCLK_SAMPLE_FALLING | | ||
263 | SOCAM_HSYNC_ACTIVE_HIGH | SOCAM_HSYNC_ACTIVE_LOW | | ||
264 | SOCAM_VSYNC_ACTIVE_HIGH | SOCAM_VSYNC_ACTIVE_LOW | | ||
265 | SOCAM_DATA_ACTIVE_HIGH; | ||
266 | |||
267 | if (icl->query_bus_param) | ||
268 | flags |= icl->query_bus_param(icl) & SOCAM_DATAWIDTH_MASK; | ||
269 | else | ||
270 | flags |= SOCAM_DATAWIDTH_10; | ||
271 | |||
272 | return soc_camera_apply_sensor_flags(icl, flags); | ||
273 | } | ||
274 | |||
275 | static int mt9v022_s_crop(struct v4l2_subdev *sd, struct v4l2_crop *a) | 203 | static int mt9v022_s_crop(struct v4l2_subdev *sd, struct v4l2_crop *a) |
276 | { | 204 | { |
277 | struct i2c_client *client = v4l2_get_subdevdata(sd); | 205 | struct i2c_client *client = v4l2_get_subdevdata(sd); |
@@ -558,8 +486,6 @@ static const struct v4l2_queryctrl mt9v022_controls[] = { | |||
558 | }; | 486 | }; |
559 | 487 | ||
560 | static struct soc_camera_ops mt9v022_ops = { | 488 | static struct soc_camera_ops mt9v022_ops = { |
561 | .set_bus_param = mt9v022_set_bus_param, | ||
562 | .query_bus_param = mt9v022_query_bus_param, | ||
563 | .controls = mt9v022_controls, | 489 | .controls = mt9v022_controls, |
564 | .num_controls = ARRAY_SIZE(mt9v022_controls), | 490 | .num_controls = ARRAY_SIZE(mt9v022_controls), |
565 | }; | 491 | }; |