Conditionally perform common relocation fixups
Add #ifdefs where necessary to not perform relocation fixups. This
allows boards/architectures which support relocation to trim a decent
chunk of code.
Note that this patch doesn't add #ifdefs to architecture-specific code
which does not support relocation.
Signed-off-by: Peter Tyser <ptyser@xes-inc.com>
diff --git a/disk/part.c b/disk/part.c
index b92fb45..9ced452 100644
--- a/disk/part.c
+++ b/disk/part.c
@@ -80,7 +80,10 @@
block_dev_desc_t* (*reloc_get_dev)(int dev);
while (drvr->name) {
- reloc_get_dev = drvr->get_dev + gd->reloc_off;
+ reloc_get_dev = drvr->get_dev;
+#ifndef CONFIG_RELOC_FIXUP_WORKS
+ reloc_get_dev += gd->reloc_off;
+#endif
if (strncmp(ifname, drvr->name, strlen(drvr->name)) == 0)
return reloc_get_dev(dev);
drvr++;