From patchwork Thu Nov 15 17:20:28 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Thomas Petazzoni X-Patchwork-Id: 1751191 Return-Path: X-Original-To: patchwork-linux-arm@patchwork.kernel.org Delivered-To: patchwork-process-083081@patchwork2.kernel.org Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) by patchwork2.kernel.org (Postfix) with ESMTP id C6B00DF2AB for ; Thu, 15 Nov 2012 17:37:02 +0000 (UTC) Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.76 #1 (Red Hat Linux)) id 1TZ3Jq-0002vl-U1; Thu, 15 Nov 2012 17:33:40 +0000 Received: from mail.free-electrons.com ([88.190.12.23]) by merlin.infradead.org with esmtp (Exim 4.76 #1 (Red Hat Linux)) id 1TZ38O-0003fk-72 for linux-arm-kernel@lists.infradead.org; Thu, 15 Nov 2012 17:21:50 +0000 Received: by mail.free-electrons.com (Postfix, from userid 106) id 53F5331B; Thu, 15 Nov 2012 18:21:41 +0100 (CET) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.free-electrons.com X-Spam-Level: X-Spam-Status: No, score=-3.4 required=5.0 tests=ALL_TRUSTED,AWL,BAYES_00 shortcircuit=no autolearn=ham version=3.3.1 Received: from localhost (col31-4-88-188-83-94.fbx.proxad.net [88.188.83.94]) by mail.free-electrons.com (Postfix) with ESMTPSA id 9D32E2BD; Thu, 15 Nov 2012 18:21:17 +0100 (CET) From: Thomas Petazzoni To: Vinod Koul , Dan Williams , Saeed Bishara , Jason Cooper , Andrew Lunn Subject: [PATCH 23/29] mv_xor: rename mv_xor_private to mv_xor_device Date: Thu, 15 Nov 2012 18:20:28 +0100 Message-Id: <1353000034-30567-24-git-send-email-thomas.petazzoni@free-electrons.com> X-Mailer: git-send-email 1.7.9.5 In-Reply-To: <1353000034-30567-1-git-send-email-thomas.petazzoni@free-electrons.com> References: <1353000034-30567-1-git-send-email-thomas.petazzoni@free-electrons.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20121115_122148_763703_E52F4E53 X-CRM114-Status: GOOD ( 18.28 ) X-Spam-Score: -2.6 (--) X-Spam-Report: SpamAssassin version 3.3.2 on merlin.infradead.org summary: Content analysis details: (-2.6 points) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 SPF_PASS SPF: sender matches SPF record -0.7 RP_MATCHES_RCVD Envelope sender domain matches handover relay domain -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] Cc: Gregory Clement , Lior Amsalem , Sebastian Hesselbarth , linux-arm-kernel@lists.infradead.org, Maen Suleiman X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Sender: linux-arm-kernel-bounces@lists.infradead.org Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org Now that mv_xor_device is no longer used to designate the per-channel DMA devices, use it know to designate the XOR engine themselves (currently composed of two XOR channels). So, now we have the nice organization where: - mv_xor_device represents each XOR engine in the system - mv_xor_chan represents each XOR channel of a given XOR engine Signed-off-by: Thomas Petazzoni --- drivers/dma/mv_xor.c | 66 +++++++++++++++++++++++++------------------------- drivers/dma/mv_xor.h | 4 +-- 2 files changed, 35 insertions(+), 35 deletions(-) diff --git a/drivers/dma/mv_xor.c b/drivers/dma/mv_xor.c index fc89139..d934f8b 100644 --- a/drivers/dma/mv_xor.c +++ b/drivers/dma/mv_xor.c @@ -1086,7 +1086,7 @@ static int __devexit mv_xor_channel_remove(struct mv_xor_chan *mv_chan) } static struct mv_xor_chan * __devinit -mv_xor_channel_add(struct mv_xor_private *msp, +mv_xor_channel_add(struct mv_xor_device *xordev, struct platform_device *pdev, int hw_id, dma_cap_mask_t cap_mask, size_t pool_size, int irq) @@ -1118,7 +1118,7 @@ mv_xor_channel_add(struct mv_xor_private *msp, /* discover transaction capabilites from the platform data */ dma_dev->cap_mask = cap_mask; - mv_chan->shared = msp; + mv_chan->shared = xordev; INIT_LIST_HEAD(&dma_dev->channels); @@ -1139,7 +1139,7 @@ mv_xor_channel_add(struct mv_xor_private *msp, dma_dev->device_prep_dma_xor = mv_xor_prep_dma_xor; } - mv_chan->mmr_base = msp->xor_base; + mv_chan->mmr_base = xordev->xor_base; if (!mv_chan->mmr_base) { ret = -ENOMEM; goto err_free_dma; @@ -1200,10 +1200,10 @@ mv_xor_channel_add(struct mv_xor_private *msp, } static void -mv_xor_conf_mbus_windows(struct mv_xor_private *msp, +mv_xor_conf_mbus_windows(struct mv_xor_device *xordev, const struct mbus_dram_target_info *dram) { - void __iomem *base = msp->xor_base; + void __iomem *base = xordev->xor_base; u32 win_enable = 0; int i; @@ -1233,50 +1233,50 @@ mv_xor_conf_mbus_windows(struct mv_xor_private *msp, static int mv_xor_probe(struct platform_device *pdev) { const struct mbus_dram_target_info *dram; - struct mv_xor_private *msp; + struct mv_xor_device *xordev; struct mv_xor_platform_data *pdata = pdev->dev.platform_data; struct resource *res; int i, ret; dev_notice(&pdev->dev, "Marvell XOR driver\n"); - msp = devm_kzalloc(&pdev->dev, sizeof(*msp), GFP_KERNEL); - if (!msp) + xordev = devm_kzalloc(&pdev->dev, sizeof(*xordev), GFP_KERNEL); + if (!xordev) return -ENOMEM; res = platform_get_resource(pdev, IORESOURCE_MEM, 0); if (!res) return -ENODEV; - msp->xor_base = devm_ioremap(&pdev->dev, res->start, - resource_size(res)); - if (!msp->xor_base) + xordev->xor_base = devm_ioremap(&pdev->dev, res->start, + resource_size(res)); + if (!xordev->xor_base) return -EBUSY; res = platform_get_resource(pdev, IORESOURCE_MEM, 1); if (!res) return -ENODEV; - msp->xor_high_base = devm_ioremap(&pdev->dev, res->start, - resource_size(res)); - if (!msp->xor_high_base) + xordev->xor_high_base = devm_ioremap(&pdev->dev, res->start, + resource_size(res)); + if (!xordev->xor_high_base) return -EBUSY; - platform_set_drvdata(pdev, msp); + platform_set_drvdata(pdev, xordev); /* * (Re-)program MBUS remapping windows if we are asked to. */ dram = mv_mbus_dram_info(); if (dram) - mv_xor_conf_mbus_windows(msp, dram); + mv_xor_conf_mbus_windows(xordev, dram); /* Not all platforms can gate the clock, so it is not * an error if the clock does not exists. */ - msp->clk = clk_get(&pdev->dev, NULL); - if (!IS_ERR(msp->clk)) - clk_prepare_enable(msp->clk); + xordev->clk = clk_get(&pdev->dev, NULL); + if (!IS_ERR(xordev->clk)) + clk_prepare_enable(xordev->clk); if (pdata && pdata->channels) { for (i = 0; i < MV_XOR_MAX_CHANNELS; i++) { @@ -1295,12 +1295,12 @@ static int mv_xor_probe(struct platform_device *pdev) goto err_channel_add; } - msp->channels[i] = - mv_xor_channel_add(msp, pdev, cd->hw_id, + xordev->channels[i] = + mv_xor_channel_add(xordev, pdev, cd->hw_id, cd->cap_mask, cd->pool_size, irq); - if (IS_ERR(msp->channels[i])) { - ret = PTR_ERR(msp->channels[i]); + if (IS_ERR(xordev->channels[i])) { + ret = PTR_ERR(xordev->channels[i]); goto err_channel_add; } } @@ -1310,27 +1310,27 @@ static int mv_xor_probe(struct platform_device *pdev) err_channel_add: for (i = 0; i < MV_XOR_MAX_CHANNELS; i++) - if (msp->channels[i]) - mv_xor_channel_remove(msp->channels[i]); + if (xordev->channels[i]) + mv_xor_channel_remove(xordev->channels[i]); - clk_disable_unprepare(msp->clk); - clk_put(msp->clk); + clk_disable_unprepare(xordev->clk); + clk_put(xordev->clk); return ret; } static int mv_xor_remove(struct platform_device *pdev) { - struct mv_xor_private *msp = platform_get_drvdata(pdev); + struct mv_xor_device *xordev = platform_get_drvdata(pdev); int i; for (i = 0; i < MV_XOR_MAX_CHANNELS; i++) { - if (msp->channels[i]) - mv_xor_channel_remove(msp->channels[i]); + if (xordev->channels[i]) + mv_xor_channel_remove(xordev->channels[i]); } - if (!IS_ERR(msp->clk)) { - clk_disable_unprepare(msp->clk); - clk_put(msp->clk); + if (!IS_ERR(xordev->clk)) { + clk_disable_unprepare(xordev->clk); + clk_put(xordev->clk); } return 0; diff --git a/drivers/dma/mv_xor.h b/drivers/dma/mv_xor.h index 16de1f6..cedeaa0 100644 --- a/drivers/dma/mv_xor.h +++ b/drivers/dma/mv_xor.h @@ -53,7 +53,7 @@ #define WINDOW_REMAP_HIGH(w) (0x290 + ((w) << 2)) #define WINDOW_BAR_ENABLE(chan) (0x240 + ((chan) << 2)) -struct mv_xor_private { +struct mv_xor_device { void __iomem *xor_base; void __iomem *xor_high_base; struct clk *clk; @@ -87,7 +87,7 @@ struct mv_xor_chan { void *dma_desc_pool_virt; size_t pool_size; struct dma_device dmadev; - struct mv_xor_private *shared; + struct mv_xor_device *shared; struct dma_chan dmachan; struct mv_xor_desc_slot *last_used; struct list_head all_slots;