Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751961AbdC0Fb2 (ORCPT ); Mon, 27 Mar 2017 01:31:28 -0400 Received: from mailout2.w1.samsung.com ([210.118.77.12]:13408 "EHLO mailout2.w1.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751854AbdC0FbX (ORCPT ); Mon, 27 Mar 2017 01:31:23 -0400 X-AuditID: cbfec7f4-f79806d000001279-94-58d8a3a2c6ec From: Marek Szyprowski To: linux-samsung-soc@vger.kernel.org, dmaengine@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Cc: Marek Szyprowski , Krzysztof Kozlowski , Bartlomiej Zolnierkiewicz , Vinod Koul Subject: [PATCH RESEND] dmaengine: pl330: remove pdata based initialization Date: Mon, 27 Mar 2017 07:31:03 +0200 Message-id: <1490592663-19666-1-git-send-email-m.szyprowski@samsung.com> X-Mailer: git-send-email 1.9.1 X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFtrLIsWRmVeSWpSXmKPExsWy7djPc7qLFt+IMPjyWdJi44z1rBarp/5l tTh/fgO7xabH11gtLu+aw2Yx4/w+Jou1R+6yW7zs28/iwOGxeM9LJo9NqzrZPDYvqffo27KK 0ePzJrkA1igum5TUnMyy1CJ9uwSujK5274KzuhV/d95gamC8o9rFyMkhIWAiseJRGzuELSZx 4d56ti5GLg4hgaWMEotbPrNAOJ8ZJdpuNTJ2MXKAdUx5UAARX8YoMfPUJXYIp4FJYnbrFGaQ UWwChhJdb7vARokItDFKzG4/yQziMAtsZpRY9vUSC0iVsIC3xLXNK9hAbBYBVYnjHddZQFbw CnhIvGmNgrhJTuLkscmsIL0SAvfZJHq2zmaDOENWYtMBZogaF4mPj58wQtjCEq+Ob4H6R0ai s+MgE4TdzyjR1KoNYc9glDj3lhfCtpY4fPwiK4jNLMAnMWnbdGaI8bwSHW1CEKaHxLolThDV jhLTGqeAHSkkECtx/6zcBEbpBYwMqxhFUkuLc9NTi030ihNzi0vz0vWS83M3MQIj9fS/4192 MC4+ZnWIUYCDUYmHV0DyRoQQa2JZcWXuIUYJDmYlEd6MXqAQb0piZVVqUX58UWlOavEhRmkO FiVxXq5T1yKEBNITS1KzU1MLUotgskwcnFINjGUf0/vNjyedP6HGGPvl78qHX3Yem8Rvayiy 8diW6nnf6pJsL1xnP26b9qRMmrtv1oS0nhWJtS/ZPu3KFudJ4IlZI8ulLP3yQHndylVF9bzR IoJfmi4ZHRLYk8hVdjJlcqpQxaauo7xnU9dKGCV/vv6zKCBqysXl67bvZlU/qjL/Wi5/bVxo gxJLcUaioRZzUXEiAGpUMsLQAgAA X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFrrCLMWRmVeSWpSXmKPExsVy+t/xq7qCS25EGHw5wGOxccZ6VovVU/+y Wpw/v4HdYtPja6wWl3fNYbOYcX4fk8XaI3fZLV727Wdx4PBYvOclk8emVZ1sHpuX1Hv0bVnF 6PF5k1wAa5SbTUZqYkpqkUJqXnJ+SmZeuq1SaIibroWSQl5ibqqtUoSub0iQkkJZYk4pkGdk gAYcnAPcg5X07RLcMrravQvO6lb83XmDqYHxjmoXIweHhICJxJQHBV2MnECmmMSFe+vZuhi5 OIQEljBK7Pl3gQnCaWKSWPvuBhtIFZuAoUTX2y6wKhGBNkaJd9sXM4M4zAJbGSUmvusDqxIW 8Ja4tnkFmM0ioCpxvOM6C8g6XgEPiTetURDr5CROHpvMOoGRewEjwypGkdTS4tz03GJDveLE 3OLSvHS95PzcTYzAEN127OfmHYyXNgYfYhTgYFTi4d0hdiNCiDWxrLgy9xCjBAezkghvRi9Q iDclsbIqtSg/vqg0J7X4EKMp0O6JzFKiyfnA+MkriTc0MTS3NDQytrAwNzJSEuct+XAlXEgg PbEkNTs1tSC1CKaPiYNTqoHR/7QaZ5uhVkEiX8PX95tPteXbd3VNrltYtcLzTA/7vhM7viVN 9pVgErEuWcB+3ZF18VOnGh6fyg+FptP2ZgTmubDNMrg9MdBykuA/Bi7djPDE2q9/773N7vsp 9tOG5VXY3uB1vFJnxf5ut++Zcn5/oPgcj2dyBg6Onq6K5T9//dc3OLiwLkCJpTgj0VCLuag4 EQBY1VV4ZwIAAA== X-MTR: 20000000000000000@CPGS X-CMS-MailID: 20170327053114eucas1p2f87c67ff869181cd288a99ceff9c7e1c X-Msg-Generator: CA X-Sender-IP: 182.198.249.179 X-Local-Sender: =?UTF-8?B?TWFyZWsgU3p5cHJvd3NraRtTUlBPTC1LZXJuZWwgKFRQKRs=?= =?UTF-8?B?7IK87ISx7KCE7J6QG1NlbmlvciBTb2Z0d2FyZSBFbmdpbmVlcg==?= X-Global-Sender: =?UTF-8?B?TWFyZWsgU3p5cHJvd3NraRtTUlBPTC1LZXJuZWwgKFRQKRtT?= =?UTF-8?B?YW1zdW5nIEVsZWN0cm9uaWNzG1NlbmlvciBTb2Z0d2FyZSBFbmdpbmVlcg==?= X-Sender-Code: =?UTF-8?B?QzEwG0VIURtDMTBDRDAyQ0QwMjczOTI=?= CMS-TYPE: 201P X-HopCount: 7 X-CMS-RootMailID: 20170327053114eucas1p2f87c67ff869181cd288a99ceff9c7e1c X-RootMTR: 20170327053114eucas1p2f87c67ff869181cd288a99ceff9c7e1c References: Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 5658 Lines: 177 This driver is now used only on platforms which support device tree, so it is safe to remove legacy platform data based initialization code. Signed-off-by: Marek Szyprowski Reviewed-by: Ulf Hansson Acked-by: Arnd Bergmann For plat-samsung: Acked-by: Krzysztof Kozlowski --- This was earlier a part of "[PATCH v8 0/3] DMA Engine: switch PL330 driver to non-irq-safe runtime PM" patchset, but it is independent from the other patches in that patchset and can be applied separately. --- arch/arm/plat-samsung/devs.c | 1 - drivers/dma/pl330.c | 42 ++++++++---------------------------------- include/linux/amba/pl330.h | 35 ----------------------------------- 3 files changed, 8 insertions(+), 70 deletions(-) delete mode 100644 include/linux/amba/pl330.h diff --git a/arch/arm/plat-samsung/devs.c b/arch/arm/plat-samsung/devs.c index 03fac123676d..dc269d9143bc 100644 --- a/arch/arm/plat-samsung/devs.c +++ b/arch/arm/plat-samsung/devs.c @@ -10,7 +10,6 @@ * published by the Free Software Foundation. */ -#include #include #include #include diff --git a/drivers/dma/pl330.c b/drivers/dma/pl330.c index f37f4978dabb..8b0da7fa520d 100644 --- a/drivers/dma/pl330.c +++ b/drivers/dma/pl330.c @@ -22,7 +22,6 @@ #include #include #include -#include #include #include #include @@ -2077,18 +2076,6 @@ static void pl330_tasklet(unsigned long data) } } -bool pl330_filter(struct dma_chan *chan, void *param) -{ - u8 *peri_id; - - if (chan->device->dev->driver != &pl330_driver.drv) - return false; - - peri_id = chan->private; - return *peri_id == (unsigned long)param; -} -EXPORT_SYMBOL(pl330_filter); - static struct dma_chan *of_dma_pl330_xlate(struct of_phandle_args *dma_spec, struct of_dma *ofdma) { @@ -2833,7 +2820,6 @@ static int __maybe_unused pl330_resume(struct device *dev) static int pl330_probe(struct amba_device *adev, const struct amba_id *id) { - struct dma_pl330_platdata *pdat; struct pl330_config *pcfg; struct pl330_dmac *pl330; struct dma_pl330_chan *pch, *_p; @@ -2843,8 +2829,6 @@ static int __maybe_unused pl330_resume(struct device *dev) int num_chan; struct device_node *np = adev->dev.of_node; - pdat = dev_get_platdata(&adev->dev); - ret = dma_set_mask_and_coherent(&adev->dev, DMA_BIT_MASK(32)); if (ret) return ret; @@ -2857,7 +2841,7 @@ static int __maybe_unused pl330_resume(struct device *dev) pd = &pl330->ddma; pd->dev = &adev->dev; - pl330->mcbufsz = pdat ? pdat->mcbuf_sz : 0; + pl330->mcbufsz = 0; /* get quirk */ for (i = 0; i < ARRAY_SIZE(of_quirks); i++) @@ -2901,10 +2885,7 @@ static int __maybe_unused pl330_resume(struct device *dev) INIT_LIST_HEAD(&pd->channels); /* Initialize channel parameters */ - if (pdat) - num_chan = max_t(int, pdat->nr_valid_peri, pcfg->num_chan); - else - num_chan = max_t(int, pcfg->num_peri, pcfg->num_chan); + num_chan = max_t(int, pcfg->num_peri, pcfg->num_chan); pl330->num_peripherals = num_chan; @@ -2916,11 +2897,8 @@ static int __maybe_unused pl330_resume(struct device *dev) for (i = 0; i < num_chan; i++) { pch = &pl330->peripherals[i]; - if (!adev->dev.of_node) - pch->chan.private = pdat ? &pdat->peri_id[i] : NULL; - else - pch->chan.private = adev->dev.of_node; + pch->chan.private = adev->dev.of_node; INIT_LIST_HEAD(&pch->submitted_list); INIT_LIST_HEAD(&pch->work_list); INIT_LIST_HEAD(&pch->completed_list); @@ -2933,15 +2911,11 @@ static int __maybe_unused pl330_resume(struct device *dev) list_add_tail(&pch->chan.device_node, &pd->channels); } - if (pdat) { - pd->cap_mask = pdat->cap_mask; - } else { - dma_cap_set(DMA_MEMCPY, pd->cap_mask); - if (pcfg->num_peri) { - dma_cap_set(DMA_SLAVE, pd->cap_mask); - dma_cap_set(DMA_CYCLIC, pd->cap_mask); - dma_cap_set(DMA_PRIVATE, pd->cap_mask); - } + dma_cap_set(DMA_MEMCPY, pd->cap_mask); + if (pcfg->num_peri) { + dma_cap_set(DMA_SLAVE, pd->cap_mask); + dma_cap_set(DMA_CYCLIC, pd->cap_mask); + dma_cap_set(DMA_PRIVATE, pd->cap_mask); } pd->device_alloc_chan_resources = pl330_alloc_chan_resources; diff --git a/include/linux/amba/pl330.h b/include/linux/amba/pl330.h deleted file mode 100644 index fe93758e8403..000000000000 --- a/include/linux/amba/pl330.h +++ /dev/null @@ -1,35 +0,0 @@ -/* linux/include/linux/amba/pl330.h - * - * Copyright (C) 2010 Samsung Electronics Co. Ltd. - * Jaswinder Singh - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - */ - -#ifndef __AMBA_PL330_H_ -#define __AMBA_PL330_H_ - -#include - -struct dma_pl330_platdata { - /* - * Number of valid peripherals connected to DMAC. - * This may be different from the value read from - * CR0, as the PL330 implementation might have 'holes' - * in the peri list or the peri could also be reached - * from another DMAC which the platform prefers. - */ - u8 nr_valid_peri; - /* Array of valid peripherals */ - u8 *peri_id; - /* Operational capabilities */ - dma_cap_mask_t cap_mask; - /* Bytes to allocate for MC buffer */ - unsigned mcbuf_sz; -}; - -extern bool pl330_filter(struct dma_chan *chan, void *param); -#endif /* __AMBA_PL330_H_ */ -- 1.9.1