aboutsummaryrefslogtreecommitdiff
path: root/common
diff options
context:
space:
mode:
authorLukasz Majewski <l.majewski@samsung.com>2013-09-11 14:53:35 +0200
committerMarek Vasut <marex@denx.de>2013-09-24 17:51:35 +0200
commit765c5ae5bc913d9f06c518a9491d97c35ea00735 (patch)
treebc35b4c73157b3db833fa840733dcddaba5761a2 /common
parent3668ce3c8008705f271bb55ee863638de3bf8067 (diff)
downloadu-boot-765c5ae5bc913d9f06c518a9491d97c35ea00735.zip
u-boot-765c5ae5bc913d9f06c518a9491d97c35ea00735.tar.gz
u-boot-765c5ae5bc913d9f06c518a9491d97c35ea00735.tar.bz2
dfu: Extract common DFU code to handle "dfu_alt_info" environment variable
New dfu_init_env_entities() function has been extracted from cmd_dfu.c and stored at dfu core. This is a dfu centric code, so it shall be processed in the core. Change-Id: I756c5de922fa31399d8804eaadc004ee98844ec2 Signed-off-by: Lukasz Majewski <l.majewski@samsung.com> Tested-by: Heiko Schocher <hs@denx.de>
Diffstat (limited to 'common')
-rw-r--r--common/cmd_dfu.c16
1 files changed, 2 insertions, 14 deletions
diff --git a/common/cmd_dfu.c b/common/cmd_dfu.c
index 793c422..d3658cf 100644
--- a/common/cmd_dfu.c
+++ b/common/cmd_dfu.c
@@ -17,26 +17,15 @@
static int do_dfu(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
{
- const char *str_env;
char *s = "dfu";
int ret, i = 0;
- char *env_bkp;
if (argc < 3)
return CMD_RET_USAGE;
- str_env = getenv("dfu_alt_info");
- if (str_env == NULL) {
- printf("%s: \"dfu_alt_info\" env variable not defined!\n",
- __func__);
- return CMD_RET_FAILURE;
- }
-
- env_bkp = strdup(str_env);
- ret = dfu_config_entities(env_bkp, argv[1],
- (int)simple_strtoul(argv[2], NULL, 10));
+ ret = dfu_init_env_entities(argv[1], simple_strtoul(argv[2], NULL, 10));
if (ret)
- return CMD_RET_FAILURE;
+ return ret;
if (argc > 3 && strcmp(argv[3], "list") == 0) {
dfu_show_entities();
@@ -67,7 +56,6 @@ exit:
g_dnl_unregister();
done:
dfu_free_entities();
- free(env_bkp);
if (dfu_reset())
run_command("reset", 0);