aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/video/sh_mobile_csi2.c
diff options
context:
space:
mode:
authorGuennadi Liakhovetski <g.liakhovetski@gmx.de>2011-07-28 13:42:28 -0400
committerMauro Carvalho Chehab <mchehab@redhat.com>2011-11-03 16:28:09 -0400
commit78a07f018c9d1eb1ee5798c5d3456260cc63c014 (patch)
tree1e077fd29ecf7942bf87d013f3441103b7197e28 /drivers/media/video/sh_mobile_csi2.c
parent4a54fab70c97c5a4fabc486946ee8b3c9986f8eb (diff)
[media] V4L: sh_mobile_csi2: 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>
Diffstat (limited to 'drivers/media/video/sh_mobile_csi2.c')
-rw-r--r--drivers/media/video/sh_mobile_csi2.c31
1 files changed, 0 insertions, 31 deletions
diff --git a/drivers/media/video/sh_mobile_csi2.c b/drivers/media/video/sh_mobile_csi2.c
index 6b4044134113..6f9f2b7ee453 100644
--- a/drivers/media/video/sh_mobile_csi2.c
+++ b/drivers/media/video/sh_mobile_csi2.c
@@ -40,8 +40,6 @@ struct sh_csi2 {
40 void __iomem *base; 40 void __iomem *base;
41 struct platform_device *pdev; 41 struct platform_device *pdev;
42 struct sh_csi2_client_config *client; 42 struct sh_csi2_client_config *client;
43 unsigned long (*query_bus_param)(struct soc_camera_device *);
44 int (*set_bus_param)(struct soc_camera_device *, unsigned long);
45}; 43};
46 44
47static int sh_csi2_try_fmt(struct v4l2_subdev *sd, 45static int sh_csi2_try_fmt(struct v4l2_subdev *sd,
@@ -200,22 +198,6 @@ static void sh_csi2_hwinit(struct sh_csi2 *priv)
200 iowrite32(tmp, priv->base + SH_CSI2_CHKSUM); 198 iowrite32(tmp, priv->base + SH_CSI2_CHKSUM);
201} 199}
202 200
203static int sh_csi2_set_bus_param(struct soc_camera_device *icd,
204 unsigned long flags)
205{
206 return 0;
207}
208
209static unsigned long sh_csi2_query_bus_param(struct soc_camera_device *icd)
210{
211 struct soc_camera_link *icl = to_soc_camera_link(icd);
212 const unsigned long flags = SOCAM_PCLK_SAMPLE_RISING |
213 SOCAM_HSYNC_ACTIVE_HIGH | SOCAM_VSYNC_ACTIVE_HIGH |
214 SOCAM_MASTER | SOCAM_DATAWIDTH_8 | SOCAM_DATA_ACTIVE_HIGH;
215
216 return soc_camera_apply_sensor_flags(icl, flags);
217}
218
219static int sh_csi2_client_connect(struct sh_csi2 *priv) 201static int sh_csi2_client_connect(struct sh_csi2 *priv)
220{ 202{
221 struct sh_csi2_pdata *pdata = priv->pdev->dev.platform_data; 203 struct sh_csi2_pdata *pdata = priv->pdev->dev.platform_data;
@@ -280,11 +262,6 @@ static int sh_csi2_client_connect(struct sh_csi2 *priv)
280 priv->mipi_flags = common_flags; 262 priv->mipi_flags = common_flags;
281 priv->client = pdata->clients + i; 263 priv->client = pdata->clients + i;
282 264
283 priv->set_bus_param = icd->ops->set_bus_param;
284 priv->query_bus_param = icd->ops->query_bus_param;
285 icd->ops->set_bus_param = sh_csi2_set_bus_param;
286 icd->ops->query_bus_param = sh_csi2_query_bus_param;
287
288 csi2_sd->grp_id = (long)icd; 265 csi2_sd->grp_id = (long)icd;
289 266
290 pm_runtime_get_sync(dev); 267 pm_runtime_get_sync(dev);
@@ -296,17 +273,9 @@ static int sh_csi2_client_connect(struct sh_csi2 *priv)
296 273
297static void sh_csi2_client_disconnect(struct sh_csi2 *priv) 274static void sh_csi2_client_disconnect(struct sh_csi2 *priv)
298{ 275{
299 struct soc_camera_device *icd = (struct soc_camera_device *)priv->subdev.grp_id;
300
301 priv->client = NULL; 276 priv->client = NULL;
302 priv->subdev.grp_id = 0; 277 priv->subdev.grp_id = 0;
303 278
304 /* Driver is about to be unbound */
305 icd->ops->set_bus_param = priv->set_bus_param;
306 icd->ops->query_bus_param = priv->query_bus_param;
307 priv->set_bus_param = NULL;
308 priv->query_bus_param = NULL;
309
310 pm_runtime_put(v4l2_get_subdevdata(&priv->subdev)); 279 pm_runtime_put(v4l2_get_subdevdata(&priv->subdev));
311} 280}
312 281