On 11/02/2011 01:00 AM, Heiko Schocher wrote: > +inline void hang(void) > +{ > + puts("### ERROR ### Please RESET the board ###\n"); > + for (;;) > + ; > +}
Why is this inline? > diff --git a/arch/arm/cpu/arm926ejs/start.S b/arch/arm/cpu/arm926ejs/start.S > index 86a0dc2..339c5ed 100644 > --- a/arch/arm/cpu/arm926ejs/start.S > +++ b/arch/arm/cpu/arm926ejs/start.S > @@ -126,7 +126,15 @@ _fiq: > > .globl _TEXT_BASE > _TEXT_BASE: > +#ifdef CONFIG_NAND_SPL /* deprecated, use instead CONFIG_SPL_BUILD */ > .word CONFIG_SYS_TEXT_BASE > +#else > +#ifdef CONFIG_SPL_BUILD > + .word CONFIG_SPL_TEXT_BASE > +#else > + .word CONFIG_SYS_TEXT_BASE > +#endif > +#endif > > /* > * These are defined in the board-specific linker script. > @@ -192,7 +200,15 @@ reset: > > /* Set stackpointer in internal RAM to call board_init_f */ > call_board_init_f: > +#ifdef CONFIG_NAND_SPL /* deprecated, use instead CONFIG_SPL_BUILD */ > + ldr sp, =(CONFIG_SYS_INIT_SP_ADDR) > +#else > +#ifdef CONFIG_SPL_BUILD > + ldr sp, =(CONFIG_SPL_STACK) > +#else > ldr sp, =(CONFIG_SYS_INIT_SP_ADDR) > +#endif > +#endif Why does CONFIG_NAND_SPL need its own ifdef, if it's going to produce the same code as any other !CONFIG_SPL_BUILD build? If your concerned with making it obvious what happens with the legacy NAND SPL, Just have a comment after #ifdef CONFIG_SPL_BUILD that says: /* not set with legacy CONFIG_NAND_SPL */ > diff --git a/doc/README.SPL b/doc/README.SPL > index b460e84..89d24a7 100644 > --- a/doc/README.SPL > +++ b/doc/README.SPL > @@ -64,3 +64,4 @@ CONFIG_SPL_POWER_SUPPORT (drivers/power/libpower.o) > CONFIG_SPL_NAND_SUPPORT (drivers/mtd/nand/libnand.o) > CONFIG_SPL_DMA_SUPPORT (drivers/dma/libdma.o) > CONFIG_SPL_POST_MEM_SUPPORT (post/drivers/memory.o) > +CONFIG_SPL_NAND_LOAD (drivers/mtd/nand/nand_spl_load.o) > diff --git a/drivers/mtd/nand/Makefile b/drivers/mtd/nand/Makefile > index 1eeba5c..28bd350 100644 > --- a/drivers/mtd/nand/Makefile > +++ b/drivers/mtd/nand/Makefile > @@ -30,6 +30,9 @@ ifdef CONFIG_SPL_BUILD > ifdef CONFIG_SPL_NAND_SIMPLE > COBJS-y += nand_spl_simple.o > endif > +ifdef CONFIG_SPL_NAND_LOAD > +COBJS-y += nand_spl_load.o > +endif > else > COBJS-y += nand.o > COBJS-y += nand_bbt.o Space, not tab, to match the rest of the file. > +/* > + * The main entry for NAND booting. It's necessary that SDRAM is already > + * configured and available since this code loads the main U-Boot image > + * from NAND into SDRAM and starts it from there. > + */ > +void nand_boot(void) > +{ > + int ret; > + __attribute__((noreturn)) void (*uboot)(void); > + > + /* > + * Load U-Boot image from NAND into RAM > + */ > + ret = nand_spl_load_image(CONFIG_SYS_NAND_U_BOOT_OFFS, > + CONFIG_SYS_NAND_U_BOOT_SIZE, > + (void *)CONFIG_SYS_NAND_U_BOOT_DST); The indent/alignment of continuation lines here looks odd... -Scott _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot