Subject: Re: linux-next: build failure after merge of the slave-dma tree

From: Vinod Koul <[email-masked]>
Date: Mon, 8 Jul 2019 09:47:28 +0530

On 08-07-19, 11:06, zhangfei wrote:
> Hi, Robin
> 
> On 2019/7/8 上午9:22, Robin Gong wrote:
> > Hi Stephen,
> > 	That's caused by 'of_irq_count' NOT export to global symbol, and I'm curious why it has been
> > here for so long since Zhangfei found it in 2015. https://patchwork.kernel.org/patch/7404681/
> > Hi Rob,
> > 	Is there something I miss so that Zhangfei's patch not accepted finally?
> > 
> > 
> 
> I remembered Rob suggested us not using of_irq_count and use
> platform_get_irq etc.
> https://lkml.org/lkml/2015/11/18/466

The explanation looks sane to me, so it makes sense to revert the commit
for now. Reverted now

-- >8 --

>From 5c274ca4cfb22a455e880f61536b1894fa29fd17 Mon Sep 17 00:00:00 2001
From: Vinod Koul <[email-masked]>
Date: Mon, 8 Jul 2019 09:42:55 +0530
Subject: [PATCH] dmaengine: Revert "dmaengine: fsl-edma: add i.mx7ulp edma2
 version support"

This reverts commit 7144afd025b2 ("dmaengine: fsl-edma: add i.mx7ulp
edma2 version support") as this fails to build with module option due to
usage of of_irq_count() which is not an exported symbol as kernel
drivers are *not* expected to use it (rightly so).

Signed-off-by: Vinod Koul <[email-masked]>
---
 drivers/dma/fsl-edma-common.c | 18 +---------
 drivers/dma/fsl-edma-common.h |  4 ---
 drivers/dma/fsl-edma.c        | 66 -----------------------------------
 3 files changed, 1 insertion(+), 87 deletions(-)

diff --git a/drivers/dma/fsl-edma-common.c b/drivers/dma/fsl-edma-common.c
index 6d6d8a4e8e38..44d92c34dec3 100644
--- a/drivers/dma/fsl-edma-common.c
+++ b/drivers/dma/fsl-edma-common.c
@@ -90,19 +90,6 @@ static void mux_configure8(struct fsl_edma_chan *fsl_chan, void __iomem *addr,
 	iowrite8(val8, addr + off);
 }
 
-void mux_configure32(struct fsl_edma_chan *fsl_chan, void __iomem *addr,
-		     u32 off, u32 slot, bool enable)
-{
-	u32 val;
-
-	if (enable)
-		val = EDMAMUX_CHCFG_ENBL << 24 | slot;
-	else
-		val = EDMAMUX_CHCFG_DIS;
-
-	iowrite32(val, addr + off * 4);
-}
-
 void fsl_edma_chan_mux(struct fsl_edma_chan *fsl_chan,
 			unsigned int slot, bool enable)
 {
@@ -116,10 +103,7 @@ void fsl_edma_chan_mux(struct fsl_edma_chan *fsl_chan,
 	muxaddr = fsl_chan->edma->muxbase[ch / chans_per_mux];
 	slot = EDMAMUX_CHCFG_SOURCE(slot);
 
-	if (fsl_chan->edma->drvdata->version == v3)
-		mux_configure32(fsl_chan, muxaddr, ch_off, slot, enable);
-	else
-		mux_configure8(fsl_chan, muxaddr, ch_off, slot, enable);
+	mux_configure8(fsl_chan, muxaddr, ch_off, slot, enable);
 }
 EXPORT_SYMBOL_GPL(fsl_edma_chan_mux);
 
diff --git a/drivers/dma/fsl-edma-common.h b/drivers/dma/fsl-edma-common.h
index 5eaa2902ed39..4e175560292c 100644
--- a/drivers/dma/fsl-edma-common.h
+++ b/drivers/dma/fsl-edma-common.h
@@ -125,7 +125,6 @@ struct fsl_edma_chan {
 	dma_addr_t			dma_dev_addr;
 	u32				dma_dev_size;
 	enum dma_data_direction		dma_dir;
-	char				chan_name[16];
 };
 
 struct fsl_edma_desc {
@@ -140,13 +139,11 @@ struct fsl_edma_desc {
 enum edma_version {
 	v1, /* 32ch, Vybrid, mpc57x, etc */
 	v2, /* 64ch Coldfire */
-	v3, /* 32ch, i.mx7ulp */
 };
 
 struct fsl_edma_drvdata {
 	enum edma_version	version;
 	u32			dmamuxs;
-	bool			has_dmaclk;
 	int			(*setup_irq)(struct platform_device *pdev,
 					     struct fsl_edma_engine *fsl_edma);
 };
@@ -156,7 +153,6 @@ struct fsl_edma_engine {
 	void __iomem		*membase;
 	void __iomem		*muxbase[DMAMUX_NR];
 	struct clk		*muxclk[DMAMUX_NR];
-	struct clk		*dmaclk;
 	struct mutex		fsl_edma_mutex;
 	const struct fsl_edma_drvdata *drvdata;
 	u32			n_chans;
diff --git a/drivers/dma/fsl-edma.c b/drivers/dma/fsl-edma.c
index 50fe196b0c73..e616425acd5f 100644
--- a/drivers/dma/fsl-edma.c
+++ b/drivers/dma/fsl-edma.c
@@ -166,50 +166,6 @@ fsl_edma_irq_init(struct platform_device *pdev, struct fsl_edma_engine *fsl_edma
 	return 0;
 }
 
-static int
-fsl_edma2_irq_init(struct platform_device *pdev,
-		   struct fsl_edma_engine *fsl_edma)
-{

-- 
~Vinod