summaryrefslogtreecommitdiff
path: root/drivers/i2c/i2c_core.c
diff options
context:
space:
mode:
authorJens Scharsig (BuS Elektronik) <esw@bus-elektronik.de>2013-10-14 10:27:38 +0200
committerHeiko Schocher <hs@denx.de>2013-10-17 07:20:25 +0200
commit83d271b5ffc19e98098861dd21e940cf53545a43 (patch)
tree13366d9f30a4298b7b6922d872689da748309665 /drivers/i2c/i2c_core.c
parentb55b8eef35f9ca04cf790381bab14510278b08a4 (diff)
Fix: nommu I2C adapter relocation error
NoMMU systems have a access violation problem with i2c_reloc_fixup. Blame for it is a double relocation of the adapter itself. The i2c_adap_p is already relocated, if i2c_reloc_fixup is called. This patch removes the relocation of i2c_adap_p from i2c_reloc_fixup to fix this. Signed-off-by: Jens Scharsig (BuS Elektronik) <esw@bus-elektronik.de>
Diffstat (limited to 'drivers/i2c/i2c_core.c')
-rw-r--r--drivers/i2c/i2c_core.c4
1 files changed, 0 insertions, 4 deletions
diff --git a/drivers/i2c/i2c_core.c b/drivers/i2c/i2c_core.c
index fe341cde64..b067b7c6ff 100644
--- a/drivers/i2c/i2c_core.c
+++ b/drivers/i2c/i2c_core.c
@@ -53,10 +53,6 @@ void i2c_reloc_fixup(void)
return;
for (i = 0; i < max; i++) {
- /* adapter itself */
- addr = (unsigned long)i2c_adap_p;
- addr += gd->reloc_off;
- i2c_adap_p = (struct i2c_adapter *)addr;
/* i2c_init() */
addr = (unsigned long)i2c_adap_p->init;
addr += gd->reloc_off;