aboutsummaryrefslogtreecommitdiff
path: root/post
diff options
context:
space:
mode:
authorWolfgang Denk <wd@denx.de>2009-10-09 00:03:18 +0200
committerWolfgang Denk <wd@denx.de>2009-10-09 00:03:18 +0200
commitcd77dd109c4a439519a78c32eddc42bdebc7a61f (patch)
treec5534647cb1786044ef0f7e4ad4067725eddf11d /post
parent95c44ec485b46ffb43dbdaa299f1491a500fdadf (diff)
parentafc3ba0fc4195624e79e21244380ed7cc2fd6969 (diff)
downloadu-boot-linaro-stable-cd77dd109c4a439519a78c32eddc42bdebc7a61f.tar.gz
Merge branch 'reloc'
Diffstat (limited to 'post')
-rw-r--r--post/board/lwmon/sysmon.c17
-rw-r--r--post/board/lwmon5/sysmon.c17
-rw-r--r--post/post.c2
3 files changed, 4 insertions, 32 deletions
diff --git a/post/board/lwmon/sysmon.c b/post/board/lwmon/sysmon.c
index 79a5151c0..fc828b2e5 100644
--- a/post/board/lwmon/sysmon.c
+++ b/post/board/lwmon/sysmon.c
@@ -56,8 +56,6 @@ static int sysmon_temp_invalid = 0;
/* #define DEBUG */
-#define RELOC(x) if (x != NULL) x = (void *) ((ulong) (x) + gd->reloc_off)
-
typedef struct sysmon_s sysmon_t;
typedef struct sysmon_table_s sysmon_table_t;
@@ -159,20 +157,7 @@ int sysmon_init_f (void)
void sysmon_reloc (void)
{
- sysmon_t ** l;
- sysmon_table_t * t;
-
- for (l = sysmon_list; *l; l++) {
- RELOC(*l);
- RELOC((*l)->init);
- RELOC((*l)->read);
- }
-
- for (t = sysmon_table; t < sysmon_table + sysmon_table_size; t ++) {
- RELOC(t->exec_before);
- RELOC(t->exec_after);
- RELOC(t->sysmon);
- }
+ /* Do nothing for now, sysmon_reloc() is required by the sysmon post */
}
static char *sysmon_unit_value (sysmon_table_t *s, uint val)
diff --git a/post/board/lwmon5/sysmon.c b/post/board/lwmon5/sysmon.c
index aef5bd018..9c49d0e64 100644
--- a/post/board/lwmon5/sysmon.c
+++ b/post/board/lwmon5/sysmon.c
@@ -58,8 +58,6 @@ DECLARE_GLOBAL_DATA_PTR;
/* from dspic.c */
extern int dspic_read(ushort reg);
-#define RELOC(x) if (x != NULL) x = (void *) ((ulong) (x) + gd->reloc_off)
-
#define REG_TEMPERATURE 0x12BC
#define REG_VOLTAGE_5V 0x12CA
#define REG_VOLTAGE_5V_STANDBY 0x12C6
@@ -160,20 +158,7 @@ int sysmon_init_f (void)
void sysmon_reloc (void)
{
- sysmon_t ** l;
- sysmon_table_t * t;
-
- for (l = sysmon_list; *l; l++) {
- RELOC(*l);
- RELOC((*l)->init);
- RELOC((*l)->read);
- }
-
- for (t = sysmon_table; t < sysmon_table + sysmon_table_size; t ++) {
- RELOC(t->exec_before);
- RELOC(t->exec_after);
- RELOC(t->sysmon);
- }
+ /* Do nothing for now, sysmon_reloc() is required by the sysmon post */
}
static char *sysmon_unit_value (sysmon_table_t *s, uint val)
diff --git a/post/post.c b/post/post.c
index bc8114e51..b74e76231 100644
--- a/post/post.c
+++ b/post/post.c
@@ -393,6 +393,7 @@ int post_log (char *format, ...)
return 0;
}
+#ifndef CONFIG_RELOC_FIXUP_WORKS
void post_reloc (void)
{
unsigned int i;
@@ -437,6 +438,7 @@ void post_reloc (void)
}
}
}
+#endif
/*