]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
[media] V4L: tw9910: remove superfluous soc-camera client operations
authorGuennadi Liakhovetski <g.liakhovetski@gmx.de>
Thu, 28 Jul 2011 21:37:36 +0000 (18:37 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Thu, 3 Nov 2011 20:28:15 +0000 (18:28 -0200)
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>
drivers/media/video/tw9910.c

index 4f9fbf2ba35db865d1b13929de936b2163665d1c..40cc1494b37762a311c6cdba2a205deb74812fab 100644 (file)
@@ -453,7 +453,7 @@ static const struct tw9910_scale_ctrl *tw9910_select_norm(struct soc_camera_devi
 }
 
 /*
- * soc_camera_ops function
+ * subdevice operations
  */
 static int tw9910_s_stream(struct v4l2_subdev *sd, int enable)
 {
@@ -495,44 +495,6 @@ static int tw9910_s_stream(struct v4l2_subdev *sd, int enable)
        return tw9910_power(client, enable);
 }
 
-static int tw9910_set_bus_param(struct soc_camera_device *icd,
-                               unsigned long flags)
-{
-       struct soc_camera_link *icl = to_soc_camera_link(icd);
-       struct v4l2_subdev *sd = soc_camera_to_subdev(icd);
-       struct i2c_client *client = v4l2_get_subdevdata(sd);
-       u8 val = VSSL_VVALID | HSSL_DVALID;
-
-       flags = soc_camera_apply_sensor_flags(icl, flags);
-
-       /*
-        * set OUTCTR1
-        *
-        * We use VVALID and DVALID signals to control VSYNC and HSYNC
-        * outputs, in this mode their polarity is inverted.
-        */
-       if (flags & SOCAM_HSYNC_ACTIVE_LOW)
-               val |= HSP_HI;
-
-       if (flags & SOCAM_VSYNC_ACTIVE_LOW)
-               val |= VSP_HI;
-
-       return i2c_smbus_write_byte_data(client, OUTCTR1, val);
-}
-
-static unsigned long tw9910_query_bus_param(struct soc_camera_device *icd)
-{
-       struct i2c_client *client = to_i2c_client(to_soc_camera_control(icd));
-       struct tw9910_priv *priv = to_tw9910(client);
-       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_VSYNC_ACTIVE_LOW  | SOCAM_HSYNC_ACTIVE_LOW  |
-               SOCAM_DATA_ACTIVE_HIGH | priv->info->buswidth;
-
-       return soc_camera_apply_sensor_flags(icl, flags);
-}
-
 static int tw9910_s_std(struct v4l2_subdev *sd, v4l2_std_id norm)
 {
        int ret = -EINVAL;
@@ -840,11 +802,6 @@ static int tw9910_video_probe(struct soc_camera_device *icd,
        return 0;
 }
 
-static struct soc_camera_ops tw9910_ops = {
-       .set_bus_param          = tw9910_set_bus_param,
-       .query_bus_param        = tw9910_query_bus_param,
-};
-
 static struct v4l2_subdev_core_ops tw9910_subdev_core_ops = {
        .g_chip_ident   = tw9910_g_chip_ident,
        .s_std          = tw9910_s_std,
@@ -964,14 +921,12 @@ static int tw9910_probe(struct i2c_client *client,
 
        v4l2_i2c_subdev_init(&priv->subdev, client, &tw9910_subdev_ops);
 
-       icd->ops     = &tw9910_ops;
+       icd->ops     = NULL;
        icd->iface   = icl->bus_id;
 
        ret = tw9910_video_probe(icd, client);
-       if (ret) {
-               icd->ops = NULL;
+       if (ret)
                kfree(priv);
-       }
 
        return ret;
 }
@@ -979,9 +934,7 @@ static int tw9910_probe(struct i2c_client *client,
 static int tw9910_remove(struct i2c_client *client)
 {
        struct tw9910_priv *priv = to_tw9910(client);
-       struct soc_camera_device *icd = client->dev.platform_data;
 
-       icd->ops = NULL;
        kfree(priv);
        return 0;
 }