From patchwork Tue Jul 19 11:51:19 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Geert Uytterhoeven X-Patchwork-Id: 9236859 X-Patchwork-Delegate: geert@linux-m68k.org Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 0FDC960574 for ; Tue, 19 Jul 2016 11:51:26 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id F3C2326A5C for ; Tue, 19 Jul 2016 11:51:25 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id E83D926B41; Tue, 19 Jul 2016 11:51:25 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.9 required=2.0 tests=BAYES_00,RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 50FBD26A5C for ; Tue, 19 Jul 2016 11:51:25 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753246AbcGSLvY (ORCPT ); Tue, 19 Jul 2016 07:51:24 -0400 Received: from xavier.telenet-ops.be ([195.130.132.52]:59166 "EHLO xavier.telenet-ops.be" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752995AbcGSLvY (ORCPT ); Tue, 19 Jul 2016 07:51:24 -0400 Received: from ayla.of.borg ([84.193.137.253]) by xavier.telenet-ops.be with bizsmtp id LbrL1t00M5UCtCs01brLy8; Tue, 19 Jul 2016 13:51:21 +0200 Received: from ramsan.of.borg ([192.168.97.29] helo=ramsan) by ayla.of.borg with esmtp (Exim 4.82) (envelope-from ) id 1bPTYW-0001bS-NQ; Tue, 19 Jul 2016 13:51:20 +0200 Received: from geert by ramsan with local (Exim 4.82) (envelope-from ) id 1bPTYZ-0004xv-Mi; Tue, 19 Jul 2016 13:51:23 +0200 From: Geert Uytterhoeven To: Kieran Bingham Cc: Mauro Carvalho Chehab , Hans Verkuil , linux-media@vger.kernel.org, linux-renesas-soc@vger.kernel.org, Geert Uytterhoeven Subject: [PATCH] [media] fdp1: vb2_queue dev conversion Date: Tue, 19 Jul 2016 13:51:19 +0200 Message-Id: <1468929079-19054-1-git-send-email-geert+renesas@glider.be> X-Mailer: git-send-email 1.9.1 Sender: linux-renesas-soc-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-renesas-soc@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP drivers/media/platform/rcar_fdp1.c:1972:2: warning: initialization from incompatible pointer type .queue_setup = fdp1_queue_setup, ^ drivers/media/platform/rcar_fdp1.c:1972:2: warning: (near initialization for 'fdp1_qops.queue_setup') drivers/media/platform/rcar_fdp1.c: In function 'fdp1_probe': drivers/media/platform/rcar_fdp1.c:2264:2: error: implicit declaration of function 'vb2_dma_contig_init_ctx' [-Werror=implicit-function-declaration] fdp1->alloc_ctx = vb2_dma_contig_init_ctx(&pdev->dev); ^ drivers/media/platform/rcar_fdp1.c:2264:18: warning: assignment makes pointer from integer without a cast fdp1->alloc_ctx = vb2_dma_contig_init_ctx(&pdev->dev); ^ drivers/media/platform/rcar_fdp1.c:2331:2: error: implicit declaration of function 'vb2_dma_contig_cleanup_ctx' [-Werror=implicit-function-declaration] vb2_dma_contig_cleanup_ctx(fdp1->alloc_ctx); ^ Commit 36c0f8b32c4bd4f6 ("[media] vb2: replace void *alloc_ctxs by struct device *alloc_devs") removed the vb2_dma_contig_init_ctx() and vb2_dma_contig_cleanup_ctx() functions, and changed the prototype of vb2_ops.queue_setup(). To fix this: - Update the signature of fdp1_queue_setup(), - Convert the FDP1 driver to use the new vb2_queue dev field, cfr. commit 53ddcc683faef8c7 ("[media] media/platform: convert drivers to use the new vb2_queue dev field"). Signed-off-by: Geert Uytterhoeven --- To be folded into "[PATCH v2] v4l: platform: Add Renesas R-Car FDP1 Driver". --- drivers/media/platform/rcar_fdp1.c | 26 ++++++-------------------- 1 file changed, 6 insertions(+), 20 deletions(-) diff --git a/drivers/media/platform/rcar_fdp1.c b/drivers/media/platform/rcar_fdp1.c index c7280183262a3046..a2587745ca68dedb 100644 --- a/drivers/media/platform/rcar_fdp1.c +++ b/drivers/media/platform/rcar_fdp1.c @@ -570,7 +570,6 @@ struct fdp1_dev { void __iomem *regs; unsigned int irq; struct device *dev; - void *alloc_ctx; /* Job Queues */ struct fdp1_job jobs[FDP1_NUMBER_JOBS]; @@ -1788,7 +1787,8 @@ static const struct v4l2_ioctl_ops fdp1_ioctl_ops = { static int fdp1_queue_setup(struct vb2_queue *vq, unsigned int *nbuffers, unsigned int *nplanes, - unsigned int sizes[], void *alloc_ctxs[]) + unsigned int sizes[], + struct device *alloc_ctxs[]) { struct fdp1_ctx *ctx = vb2_get_drv_priv(vq); struct fdp1_q_data *q_data; @@ -1800,18 +1800,13 @@ static int fdp1_queue_setup(struct vb2_queue *vq, if (*nplanes > FDP1_MAX_PLANES) return -EINVAL; - for (i = 0; i < *nplanes; i++) - alloc_ctxs[i] = ctx->fdp1->alloc_ctx; - return 0; } *nplanes = q_data->format.num_planes; - for (i = 0; i < *nplanes; i++) { + for (i = 0; i < *nplanes; i++) sizes[i] = q_data->format.plane_fmt[i].sizeimage; - alloc_ctxs[i] = ctx->fdp1->alloc_ctx; - } return 0; } @@ -1992,6 +1987,7 @@ static int queue_init(void *priv, struct vb2_queue *src_vq, src_vq->mem_ops = &vb2_dma_contig_memops; src_vq->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_COPY; src_vq->lock = &ctx->fdp1->dev_mutex; + src_vq->dev = ctx->fdp1->dev; ret = vb2_queue_init(src_vq); if (ret) @@ -2005,6 +2001,7 @@ static int queue_init(void *priv, struct vb2_queue *src_vq, dst_vq->mem_ops = &vb2_dma_contig_memops; dst_vq->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_COPY; dst_vq->lock = &ctx->fdp1->dev_mutex; + dst_vq->dev = ctx->fdp1->dev; return vb2_queue_init(dst_vq); } @@ -2260,18 +2257,11 @@ static int fdp1_probe(struct platform_device *pdev) fdp1->clk_rate = clk_get_rate(clk); clk_put(clk); - /* Memory allocation contexts */ - fdp1->alloc_ctx = vb2_dma_contig_init_ctx(&pdev->dev); - if (IS_ERR(fdp1->alloc_ctx)) { - v4l2_err(&fdp1->v4l2_dev, "Failed to init memory allocator\n"); - return PTR_ERR(fdp1->alloc_ctx); - } - /* V4L2 device registration */ ret = v4l2_device_register(&pdev->dev, &fdp1->v4l2_dev); if (ret) { v4l2_err(&fdp1->v4l2_dev, "Failed to register video device\n"); - goto vb2_allocator_rollback; + return ret; } /* M2M registration */ @@ -2327,9 +2317,6 @@ release_m2m: unreg_dev: v4l2_device_unregister(&fdp1->v4l2_dev); -vb2_allocator_rollback: - vb2_dma_contig_cleanup_ctx(fdp1->alloc_ctx); - return ret; } @@ -2340,7 +2327,6 @@ static int fdp1_remove(struct platform_device *pdev) v4l2_m2m_release(fdp1->m2m_dev); video_unregister_device(&fdp1->vfd); v4l2_device_unregister(&fdp1->v4l2_dev); - vb2_dma_contig_cleanup_ctx(fdp1->alloc_ctx); pm_runtime_disable(&pdev->dev); return 0;