Commit 8e9bca3a authored by Hans Verkuil's avatar Hans Verkuil Committed by Mauro Carvalho Chehab

[media] media/.../soc-camera: convert drivers to use the new vb2_queue dev field

Stop using alloc_ctx and just fill in the device pointer.
Signed-off-by: default avatarHans Verkuil <hans.verkuil@cisco.com>
Cc: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Cc: Ludovic Desroches <ludovic.desroches@atmel.com>
Cc: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
parent 1ad70ced
...@@ -72,8 +72,6 @@ struct atmel_isi { ...@@ -72,8 +72,6 @@ struct atmel_isi {
int sequence; int sequence;
struct vb2_alloc_ctx *alloc_ctx;
/* Allocate descriptors for dma buffer use */ /* Allocate descriptors for dma buffer use */
struct fbd *p_fb_descriptors; struct fbd *p_fb_descriptors;
dma_addr_t fb_descriptors_phys; dma_addr_t fb_descriptors_phys;
...@@ -322,7 +320,6 @@ static int queue_setup(struct vb2_queue *vq, ...@@ -322,7 +320,6 @@ static int queue_setup(struct vb2_queue *vq,
*nplanes = 1; *nplanes = 1;
sizes[0] = size; sizes[0] = size;
alloc_ctxs[0] = isi->alloc_ctx;
isi->sequence = 0; isi->sequence = 0;
isi->active = NULL; isi->active = NULL;
...@@ -567,6 +564,7 @@ static int isi_camera_init_videobuf(struct vb2_queue *q, ...@@ -567,6 +564,7 @@ static int isi_camera_init_videobuf(struct vb2_queue *q,
q->mem_ops = &vb2_dma_contig_memops; q->mem_ops = &vb2_dma_contig_memops;
q->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC; q->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC;
q->lock = &ici->host_lock; q->lock = &ici->host_lock;
q->dev = ici->v4l2_dev.dev;
return vb2_queue_init(q); return vb2_queue_init(q);
} }
...@@ -963,7 +961,6 @@ static int atmel_isi_remove(struct platform_device *pdev) ...@@ -963,7 +961,6 @@ static int atmel_isi_remove(struct platform_device *pdev)
struct atmel_isi, soc_host); struct atmel_isi, soc_host);
soc_camera_host_unregister(soc_host); soc_camera_host_unregister(soc_host);
vb2_dma_contig_cleanup_ctx(isi->alloc_ctx);
dma_free_coherent(&pdev->dev, dma_free_coherent(&pdev->dev,
sizeof(struct fbd) * MAX_BUFFER_NUM, sizeof(struct fbd) * MAX_BUFFER_NUM,
isi->p_fb_descriptors, isi->p_fb_descriptors,
...@@ -1067,12 +1064,6 @@ static int atmel_isi_probe(struct platform_device *pdev) ...@@ -1067,12 +1064,6 @@ static int atmel_isi_probe(struct platform_device *pdev)
list_add(&isi->dma_desc[i].list, &isi->dma_desc_head); list_add(&isi->dma_desc[i].list, &isi->dma_desc_head);
} }
isi->alloc_ctx = vb2_dma_contig_init_ctx(&pdev->dev);
if (IS_ERR(isi->alloc_ctx)) {
ret = PTR_ERR(isi->alloc_ctx);
goto err_alloc_ctx;
}
regs = platform_get_resource(pdev, IORESOURCE_MEM, 0); regs = platform_get_resource(pdev, IORESOURCE_MEM, 0);
isi->regs = devm_ioremap_resource(&pdev->dev, regs); isi->regs = devm_ioremap_resource(&pdev->dev, regs);
if (IS_ERR(isi->regs)) { if (IS_ERR(isi->regs)) {
...@@ -1119,8 +1110,6 @@ static int atmel_isi_probe(struct platform_device *pdev) ...@@ -1119,8 +1110,6 @@ static int atmel_isi_probe(struct platform_device *pdev)
pm_runtime_disable(&pdev->dev); pm_runtime_disable(&pdev->dev);
err_req_irq: err_req_irq:
err_ioremap: err_ioremap:
vb2_dma_contig_cleanup_ctx(isi->alloc_ctx);
err_alloc_ctx:
dma_free_coherent(&pdev->dev, dma_free_coherent(&pdev->dev,
sizeof(struct fbd) * MAX_BUFFER_NUM, sizeof(struct fbd) * MAX_BUFFER_NUM,
isi->p_fb_descriptors, isi->p_fb_descriptors,
......
...@@ -484,7 +484,6 @@ struct rcar_vin_priv { ...@@ -484,7 +484,6 @@ struct rcar_vin_priv {
struct list_head capture; struct list_head capture;
#define MAX_BUFFER_NUM 3 #define MAX_BUFFER_NUM 3
struct vb2_v4l2_buffer *queue_buf[MAX_BUFFER_NUM]; struct vb2_v4l2_buffer *queue_buf[MAX_BUFFER_NUM];
struct vb2_alloc_ctx *alloc_ctx;
enum v4l2_field field; enum v4l2_field field;
unsigned int pdata_flags; unsigned int pdata_flags;
unsigned int vb_count; unsigned int vb_count;
...@@ -540,8 +539,6 @@ static int rcar_vin_videobuf_setup(struct vb2_queue *vq, ...@@ -540,8 +539,6 @@ static int rcar_vin_videobuf_setup(struct vb2_queue *vq,
struct soc_camera_host *ici = to_soc_camera_host(icd->parent); struct soc_camera_host *ici = to_soc_camera_host(icd->parent);
struct rcar_vin_priv *priv = ici->priv; struct rcar_vin_priv *priv = ici->priv;
alloc_ctxs[0] = priv->alloc_ctx;
if (!vq->num_buffers) if (!vq->num_buffers)
priv->sequence = 0; priv->sequence = 0;
...@@ -1816,6 +1813,7 @@ static int rcar_vin_init_videobuf2(struct vb2_queue *vq, ...@@ -1816,6 +1813,7 @@ static int rcar_vin_init_videobuf2(struct vb2_queue *vq,
vq->buf_struct_size = sizeof(struct rcar_vin_buffer); vq->buf_struct_size = sizeof(struct rcar_vin_buffer);
vq->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC; vq->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC;
vq->lock = &ici->host_lock; vq->lock = &ici->host_lock;
vq->dev = ici->v4l2_dev.dev;
return vb2_queue_init(vq); return vb2_queue_init(vq);
} }
...@@ -1912,10 +1910,6 @@ static int rcar_vin_probe(struct platform_device *pdev) ...@@ -1912,10 +1910,6 @@ static int rcar_vin_probe(struct platform_device *pdev)
if (ret) if (ret)
return ret; return ret;
priv->alloc_ctx = vb2_dma_contig_init_ctx(&pdev->dev);
if (IS_ERR(priv->alloc_ctx))
return PTR_ERR(priv->alloc_ctx);
priv->ici.priv = priv; priv->ici.priv = priv;
priv->ici.v4l2_dev.dev = &pdev->dev; priv->ici.v4l2_dev.dev = &pdev->dev;
priv->ici.drv_name = dev_name(&pdev->dev); priv->ici.drv_name = dev_name(&pdev->dev);
...@@ -1946,7 +1940,6 @@ static int rcar_vin_probe(struct platform_device *pdev) ...@@ -1946,7 +1940,6 @@ static int rcar_vin_probe(struct platform_device *pdev)
cleanup: cleanup:
pm_runtime_disable(&pdev->dev); pm_runtime_disable(&pdev->dev);
vb2_dma_contig_cleanup_ctx(priv->alloc_ctx);
return ret; return ret;
} }
...@@ -1954,12 +1947,9 @@ static int rcar_vin_probe(struct platform_device *pdev) ...@@ -1954,12 +1947,9 @@ static int rcar_vin_probe(struct platform_device *pdev)
static int rcar_vin_remove(struct platform_device *pdev) static int rcar_vin_remove(struct platform_device *pdev)
{ {
struct soc_camera_host *soc_host = to_soc_camera_host(&pdev->dev); struct soc_camera_host *soc_host = to_soc_camera_host(&pdev->dev);
struct rcar_vin_priv *priv = container_of(soc_host,
struct rcar_vin_priv, ici);
soc_camera_host_unregister(soc_host); soc_camera_host_unregister(soc_host);
pm_runtime_disable(&pdev->dev); pm_runtime_disable(&pdev->dev);
vb2_dma_contig_cleanup_ctx(priv->alloc_ctx);
return 0; return 0;
} }
......
...@@ -113,7 +113,6 @@ struct sh_mobile_ceu_dev { ...@@ -113,7 +113,6 @@ struct sh_mobile_ceu_dev {
spinlock_t lock; /* Protects video buffer lists */ spinlock_t lock; /* Protects video buffer lists */
struct list_head capture; struct list_head capture;
struct vb2_v4l2_buffer *active; struct vb2_v4l2_buffer *active;
struct vb2_alloc_ctx *alloc_ctx;
struct sh_mobile_ceu_info *pdata; struct sh_mobile_ceu_info *pdata;
struct completion complete; struct completion complete;
...@@ -217,8 +216,6 @@ static int sh_mobile_ceu_videobuf_setup(struct vb2_queue *vq, ...@@ -217,8 +216,6 @@ static int sh_mobile_ceu_videobuf_setup(struct vb2_queue *vq,
struct soc_camera_host *ici = to_soc_camera_host(icd->parent); struct soc_camera_host *ici = to_soc_camera_host(icd->parent);
struct sh_mobile_ceu_dev *pcdev = ici->priv; struct sh_mobile_ceu_dev *pcdev = ici->priv;
alloc_ctxs[0] = pcdev->alloc_ctx;
if (!vq->num_buffers) if (!vq->num_buffers)
pcdev->sequence = 0; pcdev->sequence = 0;
...@@ -1670,6 +1667,7 @@ static int sh_mobile_ceu_init_videobuf(struct vb2_queue *q, ...@@ -1670,6 +1667,7 @@ static int sh_mobile_ceu_init_videobuf(struct vb2_queue *q,
q->buf_struct_size = sizeof(struct sh_mobile_ceu_buffer); q->buf_struct_size = sizeof(struct sh_mobile_ceu_buffer);
q->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC; q->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC;
q->lock = &ici->host_lock; q->lock = &ici->host_lock;
q->dev = ici->v4l2_dev.dev;
return vb2_queue_init(q); return vb2_queue_init(q);
} }
...@@ -1822,12 +1820,6 @@ static int sh_mobile_ceu_probe(struct platform_device *pdev) ...@@ -1822,12 +1820,6 @@ static int sh_mobile_ceu_probe(struct platform_device *pdev)
pcdev->ici.ops = &sh_mobile_ceu_host_ops; pcdev->ici.ops = &sh_mobile_ceu_host_ops;
pcdev->ici.capabilities = SOCAM_HOST_CAP_STRIDE; pcdev->ici.capabilities = SOCAM_HOST_CAP_STRIDE;
pcdev->alloc_ctx = vb2_dma_contig_init_ctx(&pdev->dev);
if (IS_ERR(pcdev->alloc_ctx)) {
err = PTR_ERR(pcdev->alloc_ctx);
goto exit_free_clk;
}
if (pcdev->pdata && pcdev->pdata->asd_sizes) { if (pcdev->pdata && pcdev->pdata->asd_sizes) {
struct v4l2_async_subdev **asd; struct v4l2_async_subdev **asd;
char name[] = "sh-mobile-csi2"; char name[] = "sh-mobile-csi2";
...@@ -1872,7 +1864,7 @@ static int sh_mobile_ceu_probe(struct platform_device *pdev) ...@@ -1872,7 +1864,7 @@ static int sh_mobile_ceu_probe(struct platform_device *pdev)
if (!csi2_pdev) { if (!csi2_pdev) {
err = -ENOMEM; err = -ENOMEM;
goto exit_free_ctx; goto exit_free_clk;
} }
pcdev->csi2_pdev = csi2_pdev; pcdev->csi2_pdev = csi2_pdev;
...@@ -1955,8 +1947,6 @@ static int sh_mobile_ceu_probe(struct platform_device *pdev) ...@@ -1955,8 +1947,6 @@ static int sh_mobile_ceu_probe(struct platform_device *pdev)
pcdev->csi2_pdev->resource = NULL; pcdev->csi2_pdev->resource = NULL;
platform_device_put(pcdev->csi2_pdev); platform_device_put(pcdev->csi2_pdev);
} }
exit_free_ctx:
vb2_dma_contig_cleanup_ctx(pcdev->alloc_ctx);
exit_free_clk: exit_free_clk:
pm_runtime_disable(&pdev->dev); pm_runtime_disable(&pdev->dev);
exit_release_mem: exit_release_mem:
...@@ -1976,7 +1966,6 @@ static int sh_mobile_ceu_remove(struct platform_device *pdev) ...@@ -1976,7 +1966,6 @@ static int sh_mobile_ceu_remove(struct platform_device *pdev)
pm_runtime_disable(&pdev->dev); pm_runtime_disable(&pdev->dev);
if (platform_get_resource(pdev, IORESOURCE_MEM, 1)) if (platform_get_resource(pdev, IORESOURCE_MEM, 1))
dma_release_declared_memory(&pdev->dev); dma_release_declared_memory(&pdev->dev);
vb2_dma_contig_cleanup_ctx(pcdev->alloc_ctx);
if (csi2_pdev && csi2_pdev->dev.driver) { if (csi2_pdev && csi2_pdev->dev.driver) {
struct module *csi2_drv = csi2_pdev->dev.driver->owner; struct module *csi2_drv = csi2_pdev->dev.driver->owner;
platform_device_del(csi2_pdev); platform_device_del(csi2_pdev);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment