[U-Boot] [PATCH 6/10] driver/ifc: define nand_spl_load_image() for SPL

nand_spl_load_image() can also be used for non TPL framework.
Signed-off-by: Prabhakar Kushwaha prabhakar@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

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@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?
-Scott

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@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.
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.
Regards, Prabhakar

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@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
participants (2)
-
Prabhakar Kushwaha
-
Scott Wood