Build warning in drivers/dma/mmp_tdma.c

Vinod Koul vinod.koul at intel.com
Fri Nov 29 00:31:18 EST 2013


On Thu, Nov 28, 2013 at 02:58:53PM -0800, Dan Williams wrote:
> My build warning test is failing on this driver please fix:
> 
> drivers/dma/mmp_tdma.c:236:8: warning: 'tdcr' may be used
> uninitialized in this function [-Wuninitialized]
> 
> It's valid as mmp_tdma_control as the direction is specified in
> mmp_tdma_control() and may not be one of the two tests in that branch.
Yup, i guess best would be init to zero, which is what i have done here
I did check this driver and got bunch of warns which i fixed in [1]. But i didnt
get this one, i need to redo my build scripts now or use yours :)

From: Vinod Koul <vinod.koul at intel.com>
Date: Fri, 29 Nov 2013 10:52:52 +0530
Subject: [PATCH] dmaengine: mmp: fix uninitialized variable

drivers/dma/mmp_tdma.c:236:8: warning: 'tdcr' may be used
uninitialized in this function [-Wuninitialized]

Reported-by: Dan Williams <dan.j.williams at intel.com>
Signed-off-by: Vinod Koul <vinod.koul at intel.com>
---
 drivers/dma/mmp_tdma.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/dma/mmp_tdma.c b/drivers/dma/mmp_tdma.c
index 61b562b..d4b730c 100644
--- a/drivers/dma/mmp_tdma.c
+++ b/drivers/dma/mmp_tdma.c
@@ -182,7 +182,7 @@ static void mmp_tdma_pause_chan(struct mmp_tdma_chan *tdmac)
 
 static int mmp_tdma_config_chan(struct mmp_tdma_chan *tdmac)
 {
-	unsigned int tdcr;
+	unsigned int tdcr = 0;
 
 	mmp_tdma_disable_chan(tdmac);
 
-- 
[1]: https://patchwork.kernel.org/patch/3253411/

> 
> 
> 
> I'm also carrying patch to add a missing dependency:
> 
> commit 1a4ee91dacedde3e82d8ce6eeace7f16884474f9
> Author: Dan Williams <dan.j.williams at intel.com>
> Date:   Thu Nov 28 12:27:38 2013 -0800
> 
>     dma: mmp_dma depends on CPU_MMP2
> 
>     It calls sram_get_gpool() which is only defined if CONFIG_CPU_MMP2=y
> 
>     Signed-off-by: Dan Williams <dan.j.williams at intel.com>
> 
> diff --git a/drivers/dma/Kconfig b/drivers/dma/Kconfig
> index 446687cc2334..dad83634cb65 100644
> --- a/drivers/dma/Kconfig
> +++ b/drivers/dma/Kconfig
> @@ -287,7 +287,7 @@ config DMA_SA11X0
> 
>  config MMP_TDMA
>         bool "MMP Two-Channel DMA support"
> -       depends on ARCH_MMP
> +       depends on ARCH_MMP && CPU_MMP2
>         select DMA_ENGINE
>         help
>           Support the MMP Two-Channel DMA engine.
> 
> Is there a different ARCH type that this driver should be depending on?
This looks good to me though I tried removing CPU_MMP2 manually and compiling.
Kconfig tells me "selected by: MACH_BROWNSTONE [=y] && ARCH_MMP [=y] &&
!CPU_MOHAWK [=n]" so I think its implict here, but I think this patch ensures we
dont have build breakage

--
~Vinod



More information about the linux-arm-kernel mailing list