diff mbox

[v6,1/4] dmaengine: pl330: remove pdata based initialization

Message ID 1485250055-22137-2-git-send-email-m.szyprowski@samsung.com (mailing list archive)
State Not Applicable
Headers show

Commit Message

Marek Szyprowski Jan. 24, 2017, 9:27 a.m. UTC
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 <m.szyprowski@samsung.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
For plat-samsung:
Acked-by: Krzysztof Kozlowski <krzk@kernel.org>
---
 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

Comments

Ulf Hansson Jan. 24, 2017, 3:10 p.m. UTC | #1
On 24 January 2017 at 10:27, Marek Szyprowski <m.szyprowski@samsung.com> wrote:
> 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 <m.szyprowski@samsung.com>
> Acked-by: Arnd Bergmann <arnd@arndb.de>
> For plat-samsung:
> Acked-by: Krzysztof Kozlowski <krzk@kernel.org>

Reviewed-by: Ulf Hansson <ulf.hansson@linaro.org>

Kind regards
Uffe

> ---
>  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 <linux/amba/pl330.h>
>  #include <linux/kernel.h>
>  #include <linux/types.h>
>  #include <linux/interrupt.h>
> diff --git a/drivers/dma/pl330.c b/drivers/dma/pl330.c
> index 7539f73df9e0..78be12b45a45 100644
> --- a/drivers/dma/pl330.c
> +++ b/drivers/dma/pl330.c
> @@ -22,7 +22,6 @@
>  #include <linux/dma-mapping.h>
>  #include <linux/dmaengine.h>
>  #include <linux/amba/bus.h>
> -#include <linux/amba/pl330.h>
>  #include <linux/scatterlist.h>
>  #include <linux/of.h>
>  #include <linux/of_dma.h>
> @@ -2076,18 +2075,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)
>  {
> @@ -2832,7 +2819,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;
> @@ -2842,8 +2828,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;
> @@ -2856,7 +2840,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++)
> @@ -2900,10 +2884,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;
>
> @@ -2915,11 +2896,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);
> @@ -2932,15 +2910,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 <jassi.brar@samsung.com>
> - *
> - * 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 <linux/dmaengine.h>
> -
> -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
>
--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

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 <linux/amba/pl330.h>
 #include <linux/kernel.h>
 #include <linux/types.h>
 #include <linux/interrupt.h>
diff --git a/drivers/dma/pl330.c b/drivers/dma/pl330.c
index 7539f73df9e0..78be12b45a45 100644
--- a/drivers/dma/pl330.c
+++ b/drivers/dma/pl330.c
@@ -22,7 +22,6 @@ 
 #include <linux/dma-mapping.h>
 #include <linux/dmaengine.h>
 #include <linux/amba/bus.h>
-#include <linux/amba/pl330.h>
 #include <linux/scatterlist.h>
 #include <linux/of.h>
 #include <linux/of_dma.h>
@@ -2076,18 +2075,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)
 {
@@ -2832,7 +2819,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;
@@ -2842,8 +2828,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;
@@ -2856,7 +2840,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++)
@@ -2900,10 +2884,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;
 
@@ -2915,11 +2896,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);
@@ -2932,15 +2910,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 <jassi.brar@samsung.com>
- *
- * 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 <linux/dmaengine.h>
-
-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_ */