diff options
author | John Rigby <john.rigby@linaro.org> | 2010-12-20 18:27:51 -0700 |
---|---|---|
committer | Wolfgang Denk <wd@denx.de> | 2010-12-21 11:33:36 +0100 |
commit | 2956532625cf8414ad3efb37598ba34db08d67ec (patch) | |
tree | 19d9df98e764da9970e9cd0d70243fbaa9120fd5 /arch | |
parent | 71aab09b2c1edd1b6e00819abd1e31c04db04f36 (diff) | |
download | u-boot-2956532625cf8414ad3efb37598ba34db08d67ec.zip u-boot-2956532625cf8414ad3efb37598ba34db08d67ec.tar.gz u-boot-2956532625cf8414ad3efb37598ba34db08d67ec.tar.bz2 |
Move DECLARE_GLOBAL_DATA_PTR to file scope
It can be optimised out by the compiler otherwise resulting
in obscure errors like a board not booting.
This has been documented in README since 2006 when these were
first fixed up for GCC 4.x.
Signed-off-by: John Rigby <john.rigby@linaro.org>
Fix some additional places.
Signed-off-by: Wolfgang Denk <wd@denx.de>
Acked-By: Albert ARIBAUD <albert.aribaud@free.fr>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/cpu/armv7/mx5/speed.c | 6 | ||||
-rw-r--r-- | arch/blackfin/cpu/serial.c | 3 | ||||
-rw-r--r-- | arch/m68k/cpu/mcf52x2/cpu.c | 3 | ||||
-rw-r--r-- | arch/m68k/cpu/mcf547x_8x/speed.c | 4 | ||||
-rw-r--r-- | arch/sh/lib/board.c | 7 |
5 files changed, 11 insertions, 12 deletions
diff --git a/arch/arm/cpu/armv7/mx5/speed.c b/arch/arm/cpu/armv7/mx5/speed.c index a444def..2187e8e 100644 --- a/arch/arm/cpu/armv7/mx5/speed.c +++ b/arch/arm/cpu/armv7/mx5/speed.c @@ -28,10 +28,12 @@ #include <asm/arch/imx-regs.h> #include <asm/arch/clock.h> +#ifdef CONFIG_FSL_ESDHC +DECLARE_GLOBAL_DATA_PTR; +#endif + int get_clocks(void) { - DECLARE_GLOBAL_DATA_PTR; - #ifdef CONFIG_FSL_ESDHC gd->sdhc_clk = mxc_get_clock(MXC_IPG_PERCLK); #endif diff --git a/arch/blackfin/cpu/serial.c b/arch/blackfin/cpu/serial.c index 901cb97..650202e 100644 --- a/arch/blackfin/cpu/serial.c +++ b/arch/blackfin/cpu/serial.c @@ -42,6 +42,8 @@ #include <asm/blackfin.h> #include <asm/mach-common/bits/uart.h> +DECLARE_GLOBAL_DATA_PTR; + #ifdef CONFIG_UART_CONSOLE #include "serial.h" @@ -95,7 +97,6 @@ void serial_set_baud(uint32_t baud) */ void serial_setbrg(void) { - DECLARE_GLOBAL_DATA_PTR; serial_set_baud(gd->baudrate); } diff --git a/arch/m68k/cpu/mcf52x2/cpu.c b/arch/m68k/cpu/mcf52x2/cpu.c index 9fb717c..fb60462 100644 --- a/arch/m68k/cpu/mcf52x2/cpu.c +++ b/arch/m68k/cpu/mcf52x2/cpu.c @@ -74,8 +74,7 @@ int watchdog_disable(void) { volatile wdog_t *wdt = (volatile wdog_t *)(MMAP_WDOG); - wdt->sr = 0x5555; /* reset watchdog counteDECLARE_GLOBAL_DATA_PTR; -r */ + wdt->sr = 0x5555; /* reset watchdog counter */ wdt->sr = 0xAAAA; wdt->cr = 0; /* disable watchdog timer */ diff --git a/arch/m68k/cpu/mcf547x_8x/speed.c b/arch/m68k/cpu/mcf547x_8x/speed.c index 2cee488..31130b5 100644 --- a/arch/m68k/cpu/mcf547x_8x/speed.c +++ b/arch/m68k/cpu/mcf547x_8x/speed.c @@ -30,13 +30,13 @@ #include <asm/immap.h> +DECLARE_GLOBAL_DATA_PTR; + /* * get_clocks() fills in gd->cpu_clock and gd->bus_clk */ int get_clocks(void) { - DECLARE_GLOBAL_DATA_PTR; - gd->bus_clk = CONFIG_SYS_CLK; gd->cpu_clk = (gd->bus_clk * 2); diff --git a/arch/sh/lib/board.c b/arch/sh/lib/board.c index fe53ab4..3d201b2 100644 --- a/arch/sh/lib/board.c +++ b/arch/sh/lib/board.c @@ -32,6 +32,8 @@ #include <miiphy.h> #endif +DECLARE_GLOBAL_DATA_PTR; + extern int cpu_init(void); extern int board_init(void); extern int dram_init(void); @@ -43,8 +45,6 @@ unsigned long monitor_flash_len = CONFIG_SYS_MONITOR_LEN; static int sh_flash_init(void) { - DECLARE_GLOBAL_DATA_PTR; - gd->bd->bi_flashsize = flash_init(); printf("FLASH: %ldMB\n", gd->bd->bi_flashsize / (1024*1024)); @@ -99,7 +99,6 @@ static int sh_mem_env_init(void) #if defined(CONFIG_CMD_NET) static int sh_net_init(void) { - DECLARE_GLOBAL_DATA_PTR; gd->bd->bi_ip_addr = getenv_IPaddr("ipaddr"); return 0; } @@ -139,8 +138,6 @@ init_fnc_t *init_sequence[] = void sh_generic_init(void) { - DECLARE_GLOBAL_DATA_PTR; - bd_t *bd; init_fnc_t **init_fnc_ptr; |