[U-Boot] [PATCH 3/5] OMAP3: make gpmc_config as const

Dirk Behme
2009-10-11T07:54:17Z

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);