This function is clearly architecture specific code, not board specific code. The only difference from the generic arm arch_lmb_reserve() is the extra reservation of 16k of memory below the stack bottom, rather than the default 4k. Switch this from board_lmb_reserve() to arch_lmb_reserve() and use arch_lmb_reserve_generic() with 16k stack reservation parameter instead of replicating older version of arch_lmb_reserve() here.
Signed-off-by: Marek Vasut <marek.vasut+rene...@gmail.com> Cc: Alexey Brodkin <alexey.brod...@synopsys.com> Cc: Angelo Dureghello <ang...@sysam.it> Cc: Daniel Schwierzeck <daniel.schwierz...@gmail.com> Cc: Eugeniy Paltsev <eugeniy.palt...@synopsys.com> Cc: Hai Pham <hai.pham...@renesas.com> Cc: Michal Simek <mon...@monstr.eu> Cc: Simon Goldschmidt <simon.k.r.goldschm...@gmail.com> Cc: Tom Rini <tr...@konsulko.com> Cc: Wolfgang Denk <w...@denx.de> Cc: Ye Li <ye...@nxp.com> --- arch/arm/mach-imx/misc.c | 21 ++------------------- 1 file changed, 2 insertions(+), 19 deletions(-) diff --git a/arch/arm/mach-imx/misc.c b/arch/arm/mach-imx/misc.c index d82efa7f8f..529601156f 100644 --- a/arch/arm/mach-imx/misc.c +++ b/arch/arm/mach-imx/misc.c @@ -86,24 +86,7 @@ static ulong get_sp(void) return ret; } -void board_lmb_reserve(struct lmb *lmb) +void arch_lmb_reserve(struct lmb *lmb) { - ulong sp, bank_end; - int bank; - - sp = get_sp(); - debug("## Current stack ends at 0x%08lx ", sp); - - /* adjust sp by 16K to be safe */ - sp -= 4096 << 2; - for (bank = 0; bank < CONFIG_NR_DRAM_BANKS; bank++) { - if (sp < gd->bd->bi_dram[bank].start) - continue; - bank_end = gd->bd->bi_dram[bank].start + - gd->bd->bi_dram[bank].size; - if (sp >= bank_end) - continue; - lmb_reserve(lmb, sp, bank_end - sp); - break; - } + arch_lmb_reserve_generic(lmb, get_sp(), gd->ram_top, 16384); } -- 2.30.2