From patchwork Thu Feb 9 14:22:50 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Marek Szyprowski X-Patchwork-Id: 93713 Delivered-To: patch@linaro.org Received: by 10.140.20.99 with SMTP id 90csp25909qgi; Thu, 9 Feb 2017 06:25:30 -0800 (PST) X-Received: by 10.84.172.193 with SMTP id n59mr4446304plb.87.1486650330461; Thu, 09 Feb 2017 06:25:30 -0800 (PST) Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id b21si10178493pfc.225.2017.02.09.06.25.30; Thu, 09 Feb 2017 06:25:30 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752981AbdBIOZX (ORCPT + 25 others); Thu, 9 Feb 2017 09:25:23 -0500 Received: from mailout2.w1.samsung.com ([210.118.77.12]:53342 "EHLO mailout2.w1.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752155AbdBIOY7 (ORCPT ); Thu, 9 Feb 2017 09:24:59 -0500 Received: from eucas1p2.samsung.com (unknown [182.198.249.207]) by mailout2.w1.samsung.com (Oracle Communications Messaging Server 7.0.5.31.0 64bit (built May 5 2014)) with ESMTP id <0OL400CDO2MLMM90@mailout2.w1.samsung.com>; Thu, 09 Feb 2017 14:23:10 +0000 (GMT) Received: from eusmges2.samsung.com (unknown [203.254.199.241]) by eucas1p1.samsung.com (KnoxPortal) with ESMTP id 20170209142309eucas1p1b2c76b4b820d7b8559201ded5ce1006c~hpHiAgg3k1472114721eucas1p1m; Thu, 9 Feb 2017 14:23:09 +0000 (GMT) Received: from eucas1p1.samsung.com ( [182.198.249.206]) by eusmges2.samsung.com (EUCPMTA) with SMTP id 05.A7.30614.D4B7C985; Thu, 9 Feb 2017 14:23:09 +0000 (GMT) Received: from eusmgms2.samsung.com (unknown [182.198.249.180]) by eucas1p2.samsung.com (KnoxPortal) with ESMTP id 20170209142308eucas1p24d52db3d52e19228e8f423c3dc8b085b~hpHhQeLy21912319123eucas1p2j; Thu, 9 Feb 2017 14:23:08 +0000 (GMT) X-AuditID: cbfec7f1-f793f6d000007796-55-589c7b4d3eb1 Received: from eusync4.samsung.com ( [203.254.199.214]) by eusmgms2.samsung.com (EUCPMTA) with SMTP id 32.E6.10233.E4B7C985; Thu, 9 Feb 2017 14:23:10 +0000 (GMT) Received: from AMDC2765.digital.local ([106.116.147.25]) by eusync4.samsung.com (Oracle Communications Messaging Server 7.0.5.31.0 64bit (built May 5 2014)) with ESMTPA id <0OL400ADQ2MEJ1A0@eusync4.samsung.com>; Thu, 09 Feb 2017 14:23:08 +0000 (GMT) From: Marek Szyprowski To: linux-samsung-soc@vger.kernel.org, dmaengine@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Marek Szyprowski , Krzysztof Kozlowski , Bartlomiej Zolnierkiewicz , Vinod Koul , Ulf Hansson , "Rafael J. Wysocki" , Lars-Peter Clausen , Arnd Bergmann , Inki Dae Subject: [PATCH v8 2/3] dmaengine: pl330: remove pdata based initialization Date: Thu, 09 Feb 2017 15:22:50 +0100 Message-id: <1486650171-20598-3-git-send-email-m.szyprowski@samsung.com> X-Mailer: git-send-email 1.9.1 In-reply-to: <1486650171-20598-1-git-send-email-m.szyprowski@samsung.com> X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFvrNIsWRmVeSWpSXmKPExsWy7djPc7q+1XMiDLYc57b4O+kYu8XGGetZ LVZP/ctqMen+BBaL8+c3sFssmTyf1WLT42usFpd3zWGz+Nx7hNFixvl9TBZrj9xltzhz+hKr xfG14RYv+/azOPB5/P41idFj8Z6XTB6bVnWyedy5tofNY/OSeo8lbw6xemy52s7i0bdlFaPH 501yAZxRXDYpqTmZZalF+nYJXBlv1z5nLPiuXdE/9TxzA+M6lS5GTg4JAROJh3e+s0PYYhIX 7q1n62Lk4hASWMoosWTZHiYI5zOjxKUT7UwwHefmLoWqWsYo8fHXKzaQhJBAA5PEiVU2IDab gKFE19susCIRgUWMEsfOL2cHcZgF3jFJzPm0HmgUB4ewgLfEt3k6ICaLgKrEvmZ9kF5eAQ+J 5xP/sEIsk5M4eWwymM0p4CnR1T2BEWSMhMA+donu10uYQXolBGQlNh2AMl0k1vdHQLQKS7w6 vgXqMxmJy5O7WSDsfkaJplZtCHsGo8S5t7wQtrXE4eMXwVYxC/BJTNo2HWokr0RHmxCE6SEx qS8LotpRYvHBVdBQmMMo0Ti1g2kCo8wCRoZVjCKppcW56anFRnrFibnFpXnpesn5uZsYgUni 9L/jH3cwvj9hdYhRgINRiYe3wnJ2hBBrYllxZe4hRgkOZiURXq2KORFCvCmJlVWpRfnxRaU5 qcWHGKU5WJTEefcsuBIuJJCeWJKanZpakFoEk2Xi4JRqYORPX2kYcyO5VuWhGrMZ871O8YU5 u6J3Bni5B/523XBzg/thl19v2yaphS15Iu3Fp9ms6BgklN0cLSnEOePp78UuHitlKkI+ryln Eg3KWtHQG5W4OoGfI+ETh7rd3AVmU5qlP9//Zrw8IG9LzaGKS/lKj6Nrl84Q32k1Y8aP5sSQ H92VPx5NVWIpzkg01GIuKk4EAAW0gmsOAwAA X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFprHIsWRmVeSWpSXmKPExsVy+t/xa7p+1XMiDL50K1r8nXSM3WLjjPWs Fqun/mW1mHR/AovF+fMb2C2WTJ7ParHp8TVWi8u75rBZfO49wmgx4/w+Jou1R+6yW5w5fYnV 4vjacIuXfftZHPg8fv+axOixeM9LJo9NqzrZPO5c28PmsXlJvceSN4dYPbZcbWfx6NuyitHj 8ya5AM4oN5uM1MSU1CKF1Lzk/JTMvHRbpdAQN10LJYW8xNxUW6UIXd+QICWFssScUiDPyAAN ODgHuAcr6dsluGW8XfucseC7dkX/1PPMDYzrVLoYOTkkBEwkzs1dygZhi0lcuLceyObiEBJY wijx5tQrdginiUliW8d7RpAqNgFDia63XWBVIgKLGCVOrPjPDOIwC7xjkrjV8BKohYNDWMBb 4ts8HRCTRUBVYl+zPkgvr4CHxPOJf1ghtslJnDw2GczmFPCU6OqeADZfCKhm6vrVbBMYeRcw MqxiFEktLc5Nzy020itOzC0uzUvXS87P3cQIjJttx35u2cHY9S74EKMAB6MSD+8F69kRQqyJ ZcWVuYcYJTiYlUR4tSrmRAjxpiRWVqUW5ccXleakFh9iNAW6aSKzlGhyPjCm80riDU0MzS0N jYwtLMyNjJTEead+uBIuJJCeWJKanZpakFoE08fEwSnVwNjf9zJr5VKLv7mr/q7nE+s1n/Up mM9LK21np31LfH6HfhKvp/+MFTsW3VRef1yG381bNjh3yZIth76f2xXyyG7t38IDPAFi6n4f 00/XC5ponUv2vJ3WfdWysU6z5qYcn9SmJX6rn6iGKofGLpjHZ5Wilvc51plr5++YTdkfv50W mH2Q2f5ctRJLcUaioRZzUXEiAJTv8EWxAgAA X-MTR: 20000000000000000@CPGS X-CMS-MailID: 20170209142308eucas1p24d52db3d52e19228e8f423c3dc8b085b X-Msg-Generator: CA X-Sender-IP: 182.198.249.180 X-Local-Sender: =?utf-8?q?Marek_Szyprowski=1BSRPOL-Kernel_=28TP=29=1B?= =?utf-8?b?7IK87ISx7KCE7J6QG1NlbmlvciBTb2Z0d2FyZSBFbmdpbmVlcg==?= X-Global-Sender: =?utf-8?q?Marek_Szyprowski=1BSRPOL-Kernel_=28TP=29=1BSam?= =?utf-8?q?sung_Electronics=1BSenior_Software_Engineer?= X-Sender-Code: =?utf-8?q?C10=1BEHQ=1BC10CD02CD027392?= CMS-TYPE: 201P X-HopCount: 7 X-CMS-RootMailID: 20170209142308eucas1p24d52db3d52e19228e8f423c3dc8b085b X-RootMTR: 20170209142308eucas1p24d52db3d52e19228e8f423c3dc8b085b References: <1486650171-20598-1-git-send-email-m.szyprowski@samsung.com> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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 --- 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 -- 1.9.1 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_ */