From 7824ad6ad494c4489fdd997212b5566638fc840b Mon Sep 17 00:00:00 2001 From: Bin Meng Date: Wed, 11 Apr 2018 22:02:20 -0700 Subject: bootvx: Refactor the bootline copy codes a little bit There is a small duplication in do_bootvx() that does the bootline copy. Refactor this a little bit to make it simpler. Signed-off-by: Bin Meng Reviewed-by: Simon Glass --- cmd/elf.c | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) (limited to 'cmd/elf.c') diff --git a/cmd/elf.c b/cmd/elf.c index 30c845833b..407d136a03 100644 --- a/cmd/elf.c +++ b/cmd/elf.c @@ -313,12 +313,7 @@ int do_bootvx(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) * construct the info. */ bootline = env_get("bootargs"); - if (bootline) { - memcpy((void *)bootaddr, bootline, - max(strlen(bootline), (size_t)255)); - flush_cache(bootaddr, max(strlen(bootline), - (size_t)255)); - } else { + if (!bootline) { tmp = env_get("bootdev"); if (tmp) { strcpy(build_buf, tmp); @@ -369,12 +364,12 @@ int do_bootvx(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) ptr += strlen(tmp); } - memcpy((void *)bootaddr, build_buf, - max(strlen(build_buf), (size_t)255)); - flush_cache(bootaddr, max(strlen(build_buf), - (size_t)255)); + bootline = build_buf; } + memcpy((void *)bootaddr, bootline, + max(strlen(bootline), (size_t)255)); + flush_cache(bootaddr, max(strlen(bootline), (size_t)255)); printf("## Using bootline (@ 0x%lx): %s\n", bootaddr, (char *)bootaddr); } -- cgit v1.2.3