[U-Boot] [PATCH 6/10] driver/ifc: define nand_spl_load_image() for SPL
Scott Wood
scottwood at freescale.com
Wed Apr 2 20:06:40 CEST 2014
On Wed, 2014-04-02 at 09:51 +0530, Prabhakar Kushwaha wrote:
> On 4/2/2014 3:33 AM, Scott Wood wrote:
> > On Mon, 2014-03-31 at 15:34 +0530, Prabhakar Kushwaha wrote:
> >> nand_spl_load_image() can also be used for non TPL framework.
> >>
> >> Signed-off-by: Prabhakar Kushwaha <prabhakar at freescale.com>
> >> ---
> >> drivers/mtd/nand/fsl_ifc_spl.c | 4 ++--
> >> 1 file changed, 2 insertions(+), 2 deletions(-)
> >>
> >> diff --git a/drivers/mtd/nand/fsl_ifc_spl.c b/drivers/mtd/nand/fsl_ifc_spl.c
> >> index 2f82f7c..8a7a3a3 100644
> >> --- a/drivers/mtd/nand/fsl_ifc_spl.c
> >> +++ b/drivers/mtd/nand/fsl_ifc_spl.c
> >> @@ -88,7 +88,7 @@ static inline int bad_block(uchar *marker, int port_size)
> >> return __raw_readw((u16 *)marker) != 0xffff;
> >> }
> >>
> >> -#ifdef CONFIG_TPL_BUILD
> >> +#if defined(CONFIG_TPL_BUILD) || defined(CONFIG_SPL_BUILD)
> >> int nand_spl_load_image(uint32_t offs, unsigned int uboot_size, void *vdst)
> >> #else
> >> static int nand_load(uint32_t offs, unsigned int uboot_size, void *vdst)
> >> @@ -221,7 +221,7 @@ static int nand_load(uint32_t offs, unsigned int uboot_size, void *vdst)
> >> * Defines a static function nand_load_image() here, because non-static makes
> >> * the code too large for certain SPLs(minimal SPL, maximum size <= 4Kbytes)
> >> */
> >> -#ifndef CONFIG_TPL_BUILD
> >> +#if !defined(CONFIG_TPL_BUILD) && !defined(CONFIG_SPL_BUILD)
> >> #define nand_spl_load_image(offs, uboot_size, vdst) \
> >> nand_load(offs, uboot_size, vdst)
> >> #endif
> > When would you ever use this file without having CONFIG_SPL_BUILD
> > defined?
>
> I want to use nand_spl_load_image in spl.c as it is defined in
> include/nand.h
>
> Unfortunately, it is only defined for CONFIG_TPL_BUILD.
> If i remove !CONFIG_SPL_BUILD from second place. this will enable
> nand_load() which i don't want to use.
I'm not saying to remove !CONFIG_SPL_BUILD. I'm saying to remove the
ifdef (and all the nand_load stuff) entirely.
> will it be possible to change all nand_load to nand_spl_load_image()
> permanently. the only impact I see of "static".
> nand_load is static and nand_spl_load_image is not static function
> declaration.
Yes. It was done on eLBC because using a static function saved a few
critical bytes. IFC has more breathing room due to the 8K SPL, so
apparently it doesn't need this.
-Scott
More information about the U-Boot
mailing list