
On Tue, 26 Oct 2010 23:27:44 +0530 Sughosh Ganu urwithsughosh@gmail.com wrote:
Enable board_init_f to be overridden with a board specific function.
Signed-off-by: Sughosh Ganu urwithsughosh@gmail.com
Changes since V2:
- Fix the checkpatch warnings
nand_spl/nand_boot.c | 8 +++++--- 1 files changed, 5 insertions(+), 3 deletions(-)
diff --git a/nand_spl/nand_boot.c b/nand_spl/nand_boot.c index ccd0af2..01ff3e3 100644 --- a/nand_spl/nand_boot.c +++ b/nand_spl/nand_boot.c @@ -222,11 +222,13 @@ static int nand_load(struct mtd_info *mtd, unsigned int offs, }
#if defined(CONFIG_ARM) && !defined(CONFIG_SYS_ARM_WITHOUT_RELOC) -void board_init_f (ulong bootflag) +void __board_init_f(ulong bootflag) {
- relocate_code (CONFIG_SYS_TEXT_BASE - TOTAL_MALLOC_LEN, NULL,
CONFIG_SYS_TEXT_BASE);
- relocate_code(CONFIG_SYS_TEXT_BASE - TOTAL_MALLOC_LEN, NULL,
CONFIG_SYS_TEXT_BASE);
} +void board_init_f(ulong bootflag)__attribute__((weak,
alias("__board_init_f")));
#endif
/*
ACK for now, but given space constraints we probably don't want to carry around __board_init_f just to have it be overridden (will an overridden weak alias allow the function to be optimized away by the linker if function-sections/gc-sections is used?)
Eventually all boards should just provide their own board_init_f, which could just consist of a call to a common board init helper function. Or possibly a preprocessor define could be used to indicate that the common function should be used.
-Scott