
Nishanth Menon wrote:
gpmc_config should not be a variant as it is board specific hence make it a const parameter
Having this in u-boot-ti/next results in
- All non-SDP3430 boards have
mem.c: In function 'gpmc_init': mem.c:250: warning: assignment discards qualifiers from pointer target type
- Zoom2 fails to build with
zoom2.c:54: error: conflicting types for 'enable_gpmc_cs_config' /include/asm/arch/sys_proto.h:38: error: previous declaration of 'enable_gpmc_cs_config' was here
Reverting this patch makes both go away.
Then we get
sdp.c: In function 'board_init': sdp.c:109: warning: passing argument 1 of 'enable_gpmc_cs_config' discards qualifiers from pointer target type sdp.c:111: warning: passing argument 1 of 'enable_gpmc_cs_config' discards qualifiers from pointer target type sdp.c:113: warning: passing argument 1 of 'enable_gpmc_cs_config' discards qualifiers from pointer target type sdp.c:115: warning: passing argument 1 of 'enable_gpmc_cs_config' discards qualifiers from pointer target type
for SDP3430 only, though.
So I'd like to have this patch reverted in u-boot-ti/next and then
a) Fix sdp.c only
or
b) test the other boards, too, before applying this patch.
Best regards
Dirk
Signed-off-by: Nishanth Menon nm@ti.com Cc: David B david-b@pacbell.net Cc: Vikram Pandita vikram.pandita@ti.com Cc: Richard Woodruff r-woodruff2@ti.com Cc: Sandeep Paulraj s-paulraj@ti.com Cc: Tom Rix tom.rix@windriver.com Cc: Dirk Behme dirk.behme@googlemail.com
cpu/arm_cortexa8/omap3/mem.c | 6 +++--- include/asm-arm/arch-omap3/sys_proto.h | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/cpu/arm_cortexa8/omap3/mem.c b/cpu/arm_cortexa8/omap3/mem.c index 8731c9d..8d64478 100644 --- a/cpu/arm_cortexa8/omap3/mem.c +++ b/cpu/arm_cortexa8/omap3/mem.c @@ -44,7 +44,7 @@ volatile unsigned int boot_flash_env_addr; struct gpmc *gpmc_cfg;
#if defined(CONFIG_CMD_NAND) -static u32 gpmc_m_nand[GPMC_MAX_REG] = { +static const u32 gpmc_m_nand[GPMC_MAX_REG] = { M_NAND_GPMC_CONFIG1, M_NAND_GPMC_CONFIG2, M_NAND_GPMC_CONFIG3, @@ -62,7 +62,7 @@ static u32 gpmc_m_nand[GPMC_MAX_REG] = { #endif
#if defined(CONFIG_CMD_ONENAND) -static u32 gpmc_onenand[GPMC_MAX_REG] = { +static const u32 gpmc_onenand[GPMC_MAX_REG] = { ONENAND_GPMC_CONFIG1, ONENAND_GPMC_CONFIG2, ONENAND_GPMC_CONFIG3, @@ -193,7 +193,7 @@ void do_sdrc_init(u32 cs, u32 early) writel(0, &sdrc_base->cs[cs].mcfg); }
-void enable_gpmc_cs_config(u32 *gpmc_config, struct gpmc_cs *cs, u32 base, +void enable_gpmc_cs_config(const u32 *gpmc_config, struct gpmc_cs *cs, u32 base, u32 size) { writel(0, &cs->config7); diff --git a/include/asm-arm/arch-omap3/sys_proto.h b/include/asm-arm/arch-omap3/sys_proto.h index e59021e..34bd515 100644 --- a/include/asm-arm/arch-omap3/sys_proto.h +++ b/include/asm-arm/arch-omap3/sys_proto.h @@ -34,7 +34,7 @@ void memif_init(void); void sdrc_init(void); void do_sdrc_init(u32, u32); void gpmc_init(void); -void enable_gpmc_cs_config(u32 *gpmc_config, struct gpmc_cs *cs, u32 base, +void enable_gpmc_cs_config(const u32 *gpmc_config, struct gpmc_cs *cs, u32 base, u32 size);
void watchdog_init(void);