[U-Boot] [PATCH] mcf: Fix cppcheck errors about uninitialized variables

This patch will initialize the variables to fix the cppcheck errors as follows.
[arch/m68k/cpu/mcf5227x/speed.c:89]: (error) Uninitialized variable: bootmode [arch/m68k/cpu/mcf532x/speed.c:248]: (error) Uninitialized variable: fout [arch/m68k/cpu/mcf5445x/speed.c:194]: (error) Uninitialized variable: bootmode
Signed-off-by: Alison Wang alison.wang@freescale.com --- arch/m68k/cpu/mcf5227x/speed.c | 2 +- arch/m68k/cpu/mcf532x/speed.c | 3 ++- arch/m68k/cpu/mcf5445x/speed.c | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/arch/m68k/cpu/mcf5227x/speed.c b/arch/m68k/cpu/mcf5227x/speed.c index 44de4a6..e991cd1 100644 --- a/arch/m68k/cpu/mcf5227x/speed.c +++ b/arch/m68k/cpu/mcf5227x/speed.c @@ -74,7 +74,7 @@ int get_clocks(void) ccm_t *ccm = (ccm_t *)MMAP_CCM; pll_t *pll = (pll_t *)MMAP_PLL; int vco, temp, pcrvalue, pfdr; - u8 bootmode; + u8 bootmode = 0;
pcrvalue = in_be32(&pll->pcr) & 0xFF0F0FFF; pfdr = pcrvalue >> 24; diff --git a/arch/m68k/cpu/mcf532x/speed.c b/arch/m68k/cpu/mcf532x/speed.c index a440bbb..0495b16 100644 --- a/arch/m68k/cpu/mcf532x/speed.c +++ b/arch/m68k/cpu/mcf532x/speed.c @@ -143,7 +143,8 @@ int clock_pll(int fsys, int flags) #endif sdram_t *sdram = (sdram_t *)(MMAP_SDRAM); pll_t *pll = (pll_t *)(MMAP_PLL); - int fref, temp, fout, mfd; + int fref, temp, mfd; + int fout = 0; u32 i;
fref = FREF; diff --git a/arch/m68k/cpu/mcf5445x/speed.c b/arch/m68k/cpu/mcf5445x/speed.c index 4e363a4..a166dcc 100644 --- a/arch/m68k/cpu/mcf5445x/speed.c +++ b/arch/m68k/cpu/mcf5445x/speed.c @@ -141,7 +141,7 @@ void setup_5445x_clocks(void) #ifdef CONFIG_M54455EVB u8 *cpld = (u8 *)(CONFIG_SYS_CS2_BASE + 3); #endif - u8 bootmode; + u8 bootmode = 0;
/* To determine PCI is present or not */ if (((in_be16(&ccm->ccr) & CCM_CCR_360_FBCONFIG_MASK) == 0x00e0) ||

Hello Alison,
On Fri, 14 Nov 2014 14:56:12 +0800, Alison Wang b18965@freescale.com wrote:
This patch will initialize the variables to fix the cppcheck errors as follows.
[arch/m68k/cpu/mcf5227x/speed.c:89]: (error) Uninitialized variable: bootmode [arch/m68k/cpu/mcf532x/speed.c:248]: (error) Uninitialized variable: fout [arch/m68k/cpu/mcf5445x/speed.c:194]: (error) Uninitialized variable: bootmode
Signed-off-by: Alison Wang alison.wang@freescale.com
arch/m68k/cpu/mcf5227x/speed.c | 2 +- arch/m68k/cpu/mcf532x/speed.c | 3 ++- arch/m68k/cpu/mcf5445x/speed.c | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/arch/m68k/cpu/mcf5227x/speed.c b/arch/m68k/cpu/mcf5227x/speed.c index 44de4a6..e991cd1 100644 --- a/arch/m68k/cpu/mcf5227x/speed.c +++ b/arch/m68k/cpu/mcf5227x/speed.c @@ -74,7 +74,7 @@ int get_clocks(void) ccm_t *ccm = (ccm_t *)MMAP_CCM; pll_t *pll = (pll_t *)MMAP_PLL; int vco, temp, pcrvalue, pfdr;
- u8 bootmode;
- u8 bootmode = 0;
If you set bootmode to the default 0 value at declaration, then the code that follows in the source file can be simplified:
u8 bootmode = 0; ---8<--- pcrvalue = in_be32(&pll->pcr) & 0xFF0F0FFF; pfdr = pcrvalue >> 24;
if (pfdr == 0x1E) bootmode = 0; /* Normal Mode */ ---8<---
The part between scissors is useless now, and in turn, pfdr becomes unneeded.
pcrvalue = in_be32(&pll->pcr) & 0xFF0F0FFF; pfdr = pcrvalue >> 24; diff --git a/arch/m68k/cpu/mcf532x/speed.c b/arch/m68k/cpu/mcf532x/speed.c index a440bbb..0495b16 100644 --- a/arch/m68k/cpu/mcf532x/speed.c +++ b/arch/m68k/cpu/mcf532x/speed.c @@ -143,7 +143,8 @@ int clock_pll(int fsys, int flags) #endif sdram_t *sdram = (sdram_t *)(MMAP_SDRAM); pll_t *pll = (pll_t *)(MMAP_PLL);
- int fref, temp, fout, mfd;
- int fref, temp, mfd;
- int fout = 0; u32 i;
(haven't checked if similar reductions can be done)
fref = FREF; diff --git a/arch/m68k/cpu/mcf5445x/speed.c b/arch/m68k/cpu/mcf5445x/speed.c index 4e363a4..a166dcc 100644 --- a/arch/m68k/cpu/mcf5445x/speed.c +++ b/arch/m68k/cpu/mcf5445x/speed.c @@ -141,7 +141,7 @@ void setup_5445x_clocks(void) #ifdef CONFIG_M54455EVB u8 *cpld = (u8 *)(CONFIG_SYS_CS2_BASE + 3); #endif
- u8 bootmode;
- u8 bootmode = 0;
(ditto)
/* To determine PCI is present or not */ if (((in_be16(&ccm->ccr) & CCM_CCR_360_FBCONFIG_MASK) == 0x00e0) || -- 2.1.0.27.g96db324
U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Amicalement,

Dear Albert,
In message 20141114134733.01c82023@lilith you wrote:
- u8 bootmode;
- u8 bootmode = 0;
If you set bootmode to the default 0 value at declaration, then the code that follows in the source file can be simplified:
u8 bootmode = 0; ---8<--- pcrvalue = in_be32(&pll->pcr) & 0xFF0F0FFF; pfdr = pcrvalue >> 24;
if (pfdr == 0x1E) bootmode = 0; /* Normal Mode */ ---8<---
The part between scissors is useless now, and in turn, pfdr becomes unneeded.
Exactly. This was my concern, too - otherwise I had provided auch a trivial fix. But I think here some deeper understanding of the intended logic is needed.
Best regards,
Wolfgang Denk

On Fri, Nov 14, 2014 at 02:23:46PM +0100, Wolfgang Denk wrote:
Dear Albert,
In message 20141114134733.01c82023@lilith you wrote:
- u8 bootmode;
- u8 bootmode = 0;
If you set bootmode to the default 0 value at declaration, then the code that follows in the source file can be simplified:
u8 bootmode = 0; ---8<--- pcrvalue = in_be32(&pll->pcr) & 0xFF0F0FFF; pfdr = pcrvalue >> 24;
if (pfdr == 0x1E) bootmode = 0; /* Normal Mode */ ---8<---
The part between scissors is useless now, and in turn, pfdr becomes unneeded.
Exactly. This was my concern, too - otherwise I had provided auch a trivial fix. But I think here some deeper understanding of the intended logic is needed.
For clarity, yes, please do a v2 where you've re-organized the code based on what the cppcheck errors point out rather than just a simple silence of the warning, thanks!
participants (4)
-
Albert ARIBAUD
-
Alison Wang
-
Tom Rini
-
Wolfgang Denk