diff options
author | Lukasz Majewski <l.majewski@majess.pl> | 2015-08-24 00:21:44 +0200 |
---|---|---|
committer | Marek Vasut <marex@denx.de> | 2015-09-07 13:41:04 +0200 |
commit | 66a647238215b207addc8c9ad22f3816078a7934 (patch) | |
tree | 0699b2553da78ac9cc25791035f761b300e20327 /common/update.c | |
parent | 346969584be509b444dd1ba0db31ca7adb47575b (diff) | |
download | u-boot-imx-66a647238215b207addc8c9ad22f3816078a7934.zip u-boot-imx-66a647238215b207addc8c9ad22f3816078a7934.tar.gz u-boot-imx-66a647238215b207addc8c9ad22f3816078a7934.tar.bz2 |
tftp: update: Allow some parts of the code to be reused when CONFIG_SYS_NO_FLASH is set
Up till now it was impossible to use code from update.c when system
was not equipped with raw FLASH memory.
Such behavior prevented DFU from reusing this code.
Signed-off-by: Lukasz Majewski <l.majewski@majess.pl>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'common/update.c')
-rw-r--r-- | common/update.c | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/common/update.c b/common/update.c index 1c6aa18..542915c 100644 --- a/common/update.c +++ b/common/update.c @@ -13,10 +13,6 @@ #error "CONFIG_FIT and CONFIG_OF_LIBFDT are required for auto-update feature" #endif -#if defined(CONFIG_SYS_NO_FLASH) -#error "CONFIG_SYS_NO_FLASH defined, but FLASH is required for auto-update feature" -#endif - #include <command.h> #include <flash.h> #include <net.h> @@ -41,11 +37,11 @@ extern ulong tftp_timeout_ms; extern int tftp_timeout_count_max; -extern flash_info_t flash_info[]; extern ulong load_addr; - +#ifndef CONFIG_SYS_NO_FLASH +extern flash_info_t flash_info[]; static uchar *saved_prot_info; - +#endif static int update_load(char *filename, ulong msec_max, int cnt_max, ulong addr) { int size, rv; @@ -94,6 +90,7 @@ static int update_load(char *filename, ulong msec_max, int cnt_max, ulong addr) return rv; } +#ifndef CONFIG_SYS_NO_FLASH static int update_flash_protect(int prot, ulong addr_first, ulong addr_last) { uchar *sp_info_ptr; @@ -165,9 +162,11 @@ static int update_flash_protect(int prot, ulong addr_first, ulong addr_last) return 0; } +#endif static int update_flash(ulong addr_source, ulong addr_first, ulong size) { +#ifndef CONFIG_SYS_NO_FLASH ulong addr_last = addr_first + size - 1; /* round last address to the sector boundary */ @@ -203,7 +202,7 @@ static int update_flash(ulong addr_source, ulong addr_first, ulong size) printf("Error: could not protect flash sectors\n"); return 1; } - +#endif return 0; } |