summaryrefslogtreecommitdiff
path: root/arch/sh
diff options
context:
space:
mode:
authorJohn Rigby <john.rigby@linaro.org>2010-12-20 18:27:51 -0700
committerWolfgang Denk <wd@denx.de>2010-12-21 11:33:36 +0100
commit2956532625cf8414ad3efb37598ba34db08d67ec (patch)
tree19d9df98e764da9970e9cd0d70243fbaa9120fd5 /arch/sh
parent71aab09b2c1edd1b6e00819abd1e31c04db04f36 (diff)
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/sh')
-rw-r--r--arch/sh/lib/board.c7
1 files changed, 2 insertions, 5 deletions
diff --git a/arch/sh/lib/board.c b/arch/sh/lib/board.c
index fe53ab4de9..3d201b2e5c 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;