]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - drivers/media/video/davinci/vpfe_capture.c
V4L/DVB (13465): Davinci VPFE Capture: Take i2c adapter id through platform data
[karo-tx-linux.git] / drivers / media / video / davinci / vpfe_capture.c
index 402ce43ef38eea2825048dd80bedae4cd447cb72..86f7e75f12c50b5ed11bc80003cf2886fadb4ddc 100644 (file)
@@ -1338,7 +1338,7 @@ static int vpfe_reqbufs(struct file *file, void *priv,
        vpfe_dev->memory = req_buf->memory;
        videobuf_queue_dma_contig_init(&vpfe_dev->buffer_queue,
                                &vpfe_videobuf_qops,
-                               NULL,
+                               vpfe_dev->pdev,
                                &vpfe_dev->irqlock,
                                req_buf->type,
                                vpfe_dev->fmt.fmt.pix.field,
@@ -1577,7 +1577,7 @@ static int vpfe_cropcap(struct file *file, void *priv,
 
        v4l2_dbg(1, debug, &vpfe_dev->v4l2_dev, "vpfe_cropcap\n");
 
-       if (vpfe_dev->std_index > ARRAY_SIZE(vpfe_standards))
+       if (vpfe_dev->std_index >= ARRAY_SIZE(vpfe_standards))
                return -EINVAL;
 
        memset(crop, 0, sizeof(struct v4l2_cropcap));
@@ -1978,8 +1978,7 @@ static __init int vpfe_probe(struct platform_device *pdev)
        platform_set_drvdata(pdev, vpfe_dev);
        /* set driver private data */
        video_set_drvdata(vpfe_dev->video_dev, vpfe_dev);
-       i2c_adap = i2c_get_adapter(1);
-       vpfe_cfg = pdev->dev.platform_data;
+       i2c_adap = i2c_get_adapter(vpfe_cfg->i2c_adapter_id);
        num_subdevs = vpfe_cfg->num_subdevs;
        vpfe_dev->sd = kmalloc(sizeof(struct v4l2_subdev *) * num_subdevs,
                                GFP_KERNEL);