aboutsummaryrefslogtreecommitdiff
path: root/arch
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
parent71aab09b2c1edd1b6e00819abd1e31c04db04f36 (diff)
downloadu-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.c6
-rw-r--r--arch/blackfin/cpu/serial.c3
-rw-r--r--arch/m68k/cpu/mcf52x2/cpu.c3
-rw-r--r--arch/m68k/cpu/mcf547x_8x/speed.c4
-rw-r--r--arch/sh/lib/board.c7
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;