V4L/DVB (12521): soc-camera: use .s_std() from struct v4l2_subdev_core_ops
authorGuennadi Liakhovetski <g.liakhovetski@gmx.de>
Tue, 25 Aug 2009 14:46:51 +0000 (11:46 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Sat, 19 Sep 2009 03:18:53 +0000 (00:18 -0300)
Remove .set_std() method from struct soc_camera_ops, use .s_std() from
struct v4l2_subdev_core_ops instead.

Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/media/video/soc_camera.c
include/media/soc_camera.h

index aa6614b..44a94dc 100644 (file)
@@ -152,12 +152,9 @@ static int soc_camera_s_std(struct file *file, void *priv, v4l2_std_id *a)
 {
        struct soc_camera_file *icf = file->private_data;
        struct soc_camera_device *icd = icf->icd;
-       int ret = 0;
-
-       if (icd->ops->set_std)
-               ret = icd->ops->set_std(icd, a);
+       struct soc_camera_host *ici = to_soc_camera_host(icd->dev.parent);
 
-       return ret;
+       return v4l2_device_call_until_err(&ici->v4l2_dev, (__u32)icd, core, s_std, *a);
 }
 
 static int soc_camera_reqbufs(struct file *file, void *priv,
index 2b7a8c6..7c44d40 100644 (file)
@@ -190,7 +190,6 @@ struct soc_camera_ops {
        int (*set_bus_param)(struct soc_camera_device *, unsigned long);
        int (*get_chip_id)(struct soc_camera_device *,
                           struct v4l2_dbg_chip_ident *);
-       int (*set_std)(struct soc_camera_device *, v4l2_std_id *);
        int (*enum_input)(struct soc_camera_device *, struct v4l2_input *);
        const struct v4l2_queryctrl *controls;
        int num_controls;