diff mbox

[U-Boot] env_nand: use nand_spl_load_image for readenv if SPL

Message ID 1431629284-1456-1-git-send-email-tharvey@gateworks.com
State Awaiting Upstream
Delegated to: Stefano Babic
Headers show

Commit Message

Tim Harvey May 14, 2015, 6:48 p.m. UTC
The readenv() implementation of env_nand uses the mtd layer which is
unnecessary overhead in SPL when we already have a nand_spl_load_image()
function that doesn't need it. Using this instead eliminates the need
to provide a mtd_read for SPL env as well as reduces code (4KB savings in IMX6
SPL).

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
---
 common/env_nand.c | 7 +++++++
 1 file changed, 7 insertions(+)

Comments

Scott Wood May 15, 2015, 6:59 p.m. UTC | #1
On Thu, 2015-05-14 at 11:48 -0700, Tim Harvey wrote:
> The readenv() implementation of env_nand uses the mtd layer which is
> unnecessary overhead in SPL when we already have a nand_spl_load_image()
> function that doesn't need it. Using this instead eliminates the need
> to provide a mtd_read for SPL env as well as reduces code (4KB savings in IMX6
> SPL).
> 
> Signed-off-by: Tim Harvey <tharvey@gateworks.com>
> ---
>  common/env_nand.c | 7 +++++++
>  1 file changed, 7 insertions(+)

Acked-by: Scott Wood <scottwood@freescale.com>

-Scott
Stefano Babic May 19, 2015, 1:02 p.m. UTC | #2
Hi Tim,

On 15/05/2015 20:59, Scott Wood wrote:
> On Thu, 2015-05-14 at 11:48 -0700, Tim Harvey wrote:
>> The readenv() implementation of env_nand uses the mtd layer which is
>> unnecessary overhead in SPL when we already have a nand_spl_load_image()
>> function that doesn't need it. Using this instead eliminates the need
>> to provide a mtd_read for SPL env as well as reduces code (4KB savings in IMX6
>> SPL).
>>
>> Signed-off-by: Tim Harvey <tharvey@gateworks.com>
>> ---
>>  common/env_nand.c | 7 +++++++
>>  1 file changed, 7 insertions(+)
> 
> Acked-by: Scott Wood <scottwood@freescale.com>
> 

Applied to u-boot-imx, thanks !

Best regards,
Stefano Babic
diff mbox

Patch

diff --git a/common/env_nand.c b/common/env_nand.c
index 7fc7558..bab89fd 100644
--- a/common/env_nand.c
+++ b/common/env_nand.c
@@ -260,6 +260,12 @@  int saveenv(void)
 }
 #endif /* CMD_SAVEENV */
 
+#if defined(CONFIG_SPL_BUILD)
+static int readenv(size_t offset, u_char *buf)
+{
+	return nand_spl_load_image(offset, CONFIG_ENV_SIZE, buf);
+}
+#else
 static int readenv(size_t offset, u_char *buf)
 {
 	size_t end = offset + CONFIG_ENV_RANGE;
@@ -295,6 +301,7 @@  static int readenv(size_t offset, u_char *buf)
 
 	return 0;
 }
+#endif /* #if defined(CONFIG_SPL_BUILD) */
 
 #ifdef CONFIG_ENV_OFFSET_OOB
 int get_nand_env_oob(nand_info_t *nand, unsigned long *result)