kernel compilation - errors

From: Ram
Date: Mon Jan 08 2007 - 08:18:40 EST


Hi,
Im using linux-2.6.14-omap2430.

Im using TI omap 2430 SDP.

When i compile it with the eldk toolchain.

I get an error listed at the end of this mail.

The error is simple - case values should be constants, However, the
toolchain gcc 4.0
is complaining that case values are not constant.

Actually, the some of the case values are defined as -

case (u32)&CM_ICLKEN_WKUP:
case (u32)&CM_FCLKEN_WKUP:

However, the same code compiles with some other compilers (lower
versions of gcc).

I think all compilers should give the same error

Why the difference in behaviour?.

Not sure, if the source located at linux.omap.com/pub is broken.
Couldnt find the sources of linux kernel for omap2430 with higher
versions of the linux kernel higher than 2.6.14.


Please advice,


Regards,
sriram

Error:

CHK include/linux/version.h
make[1]: `include/asm-arm/mach-types.h' is up to date.
CHK include/linux/compile.h
CHK usr/initramfs_list
CC arch/arm/mach-omap2/clock24xx.o
arch/arm/mach-omap2/clock24xx.c:47: error: static declaration of
'clockfw_lock' follows non-static declaration
include/asm/arch/clock.h:53: error: previous declaration of
'clockfw_lock' was here
arch/arm/mach-omap2/clock24xx.c: In function 'do_omap_set_performance':
arch/arm/mach-omap2/clock24xx.c:579: warning: no return statement in
function returning non-void
arch/arm/mach-omap2/clock24xx.c: In function 'clk_safe':
arch/arm/mach-omap2/clock24xx.c:1223: error: case label does not
reduce to an integer constant
arch/arm/mach-omap2/clock24xx.c:1224: error: case label does not
reduce to an integer constant
arch/arm/mach-omap2/clock24xx.c:1228: error: case label does not
reduce to an integer constant
arch/arm/mach-omap2/clock24xx.c:1229: error: case label does not
reduce to an integer constant
arch/arm/mach-omap2/clock24xx.c:1236: error: case label does not
reduce to an integer constant
arch/arm/mach-omap2/clock24xx.c:1237: error: case label does not
reduce to an integer constant
arch/arm/mach-omap2/clock24xx.c:1241: error: case label does not
reduce to an integer constant
arch/arm/mach-omap2/clock24xx.c:1242: error: case label does not
reduce to an integer constant
arch/arm/mach-omap2/clock24xx.c:1246: error: case label does not
reduce to an integer constant
arch/arm/mach-omap2/clock24xx.c:1250: error: case label does not
reduce to an integer constant
arch/arm/mach-omap2/clock24xx.c:1254: error: case label does not
reduce to an integer constant
arch/arm/mach-omap2/clock24xx.c:1255: error: case label does not
reduce to an integer constant
arch/arm/mach-omap2/clock24xx.c:1259: error: case label does not
reduce to an integer constant
arch/arm/mach-omap2/clock24xx.c:1260: error: case label does not
reduce to an integer constant
make[1]: *** [arch/arm/mach-omap2/clock24xx.o] Error 1
make: *** [arch/arm/mach-omap2] Error 2


code is :
switch((u32)(clk->enable_reg)){
case (u32)&CM_ICLKEN_MDM:
case (u32)&CM_FCLKEN_MDM:
pReg = &CM_IDLEST_MDM;
off = 0x0;
break;
case (u32)&CM_ICLKEN_DSP:
case (u32)&CM_FCLKEN_DSP:
pReg = &CM_IDLEST_DSP;
if(enbit == 1)
off = 0;
else
off = enbit;
break;
case (u32)&CM_ICLKEN_WKUP:
case (u32)&CM_FCLKEN_WKUP:
pReg = &CM_IDLEST_WKUP;
off = enbit;
break;
case (u32)&CM_ICLKEN_GFX:
case (u32)&CM_FCLKEN_GFX:
pReg = &CM_IDLEST_GFX;
off = 0x0;
break;
case (u32)&CM_ICLKEN4_CORE:
pReg = &CM_IDLEST4_CORE;
off = enbit;
break;
case (u32)&CM_ICLKEN3_CORE:
pReg = &CM_IDLEST3_CORE;
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/