mirror of
https://github.com/torvalds/linux
synced 2024-09-27 23:10:58 +00:00
[media] V4L: ov2640: 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>
This commit is contained in:
parent
0125b7c2fc
commit
6c67056a77
|
@ -701,44 +701,6 @@ static int ov2640_s_stream(struct v4l2_subdev *sd, int enable)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int ov2640_set_bus_param(struct soc_camera_device *icd,
|
|
||||||
unsigned long flags)
|
|
||||||
{
|
|
||||||
struct soc_camera_link *icl = to_soc_camera_link(icd);
|
|
||||||
unsigned long width_flag = flags & SOCAM_DATAWIDTH_MASK;
|
|
||||||
|
|
||||||
/* Only one width bit may be set */
|
|
||||||
if (!is_power_of_2(width_flag))
|
|
||||||
return -EINVAL;
|
|
||||||
|
|
||||||
if (icl->set_bus_param)
|
|
||||||
return icl->set_bus_param(icl, width_flag);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Without board specific bus width settings we support only the
|
|
||||||
* sensors native bus width witch are tested working
|
|
||||||
*/
|
|
||||||
if (width_flag & (SOCAM_DATAWIDTH_10 | SOCAM_DATAWIDTH_8))
|
|
||||||
return 0;
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
static unsigned long ov2640_query_bus_param(struct soc_camera_device *icd)
|
|
||||||
{
|
|
||||||
struct soc_camera_link *icl = to_soc_camera_link(icd);
|
|
||||||
unsigned long flags = SOCAM_PCLK_SAMPLE_RISING | SOCAM_MASTER |
|
|
||||||
SOCAM_VSYNC_ACTIVE_HIGH | SOCAM_HSYNC_ACTIVE_HIGH |
|
|
||||||
SOCAM_DATA_ACTIVE_HIGH;
|
|
||||||
|
|
||||||
if (icl->query_bus_param)
|
|
||||||
flags |= icl->query_bus_param(icl) & SOCAM_DATAWIDTH_MASK;
|
|
||||||
else
|
|
||||||
flags |= SOCAM_DATAWIDTH_10;
|
|
||||||
|
|
||||||
return soc_camera_apply_sensor_flags(icl, flags);
|
|
||||||
}
|
|
||||||
|
|
||||||
static int ov2640_g_ctrl(struct v4l2_subdev *sd, struct v4l2_control *ctrl)
|
static int ov2640_g_ctrl(struct v4l2_subdev *sd, struct v4l2_control *ctrl)
|
||||||
{
|
{
|
||||||
struct i2c_client *client = v4l2_get_subdevdata(sd);
|
struct i2c_client *client = v4l2_get_subdevdata(sd);
|
||||||
|
@ -1067,8 +1029,6 @@ static int ov2640_video_probe(struct soc_camera_device *icd,
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct soc_camera_ops ov2640_ops = {
|
static struct soc_camera_ops ov2640_ops = {
|
||||||
.set_bus_param = ov2640_set_bus_param,
|
|
||||||
.query_bus_param = ov2640_query_bus_param,
|
|
||||||
.controls = ov2640_controls,
|
.controls = ov2640_controls,
|
||||||
.num_controls = ARRAY_SIZE(ov2640_controls),
|
.num_controls = ARRAY_SIZE(ov2640_controls),
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in a new issue