summaryrefslogtreecommitdiff
path: root/cmd
diff options
context:
space:
mode:
Diffstat (limited to 'cmd')
-rw-r--r--cmd/fdt.c34
-rw-r--r--cmd/tlv_eeprom.c11
2 files changed, 24 insertions, 21 deletions
diff --git a/cmd/fdt.c b/cmd/fdt.c
index 8e51a431261..1972490bdc2 100644
--- a/cmd/fdt.c
+++ b/cmd/fdt.c
@@ -208,19 +208,11 @@ static int do_fdt(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[])
}
return CMD_RET_SUCCESS;
- }
-
- if (!working_fdt) {
- puts("No FDT memory address configured. Please configure\n"
- "the FDT address via \"fdt addr <address>\" command.\n"
- "Aborting!\n");
- return CMD_RET_FAILURE;
- }
/*
* Move the working_fdt
*/
- if (strncmp(argv[1], "mo", 2) == 0) {
+ } else if (strncmp(argv[1], "mo", 2) == 0) {
struct fdt_header *newaddr;
int len;
int err;
@@ -231,11 +223,11 @@ static int do_fdt(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[])
/*
* Set the address and length of the fdt.
*/
- working_fdt = (struct fdt_header *)hextoul(argv[2], NULL);
+ working_fdt = map_sysmem(hextoul(argv[2], NULL), 0);
if (!fdt_valid(&working_fdt))
return 1;
- newaddr = (struct fdt_header *)hextoul(argv[3], NULL);
+ newaddr = map_sysmem(hextoul(argv[3], NULL), 0);
/*
* If the user specifies a length, use that. Otherwise use the
@@ -262,10 +254,21 @@ static int do_fdt(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[])
fdt_strerror(err));
return 1;
}
- set_working_fdt_addr((ulong)newaddr);
+ set_working_fdt_addr(map_to_sysmem(newaddr));
+
+ return CMD_RET_SUCCESS;
+ }
+
+ if (!working_fdt) {
+ puts("No FDT memory address configured. Please configure\n"
+ "the FDT address via \"fdt addr <address>\" command.\n"
+ "Aborting!\n");
+ return CMD_RET_FAILURE;
+ }
+
#ifdef CONFIG_OF_SYSTEM_SETUP
/* Call the board-specific fixup routine */
- } else if (strncmp(argv[1], "sys", 3) == 0) {
+ if (strncmp(argv[1], "sys", 3) == 0) {
int err = ft_system_setup(working_fdt, gd->bd);
if (err) {
@@ -273,11 +276,14 @@ static int do_fdt(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[])
fdt_strerror(err));
return CMD_RET_FAILURE;
}
+
+ return CMD_RET_SUCCESS;
+ }
#endif
/*
* Make a new node
*/
- } else if (strncmp(argv[1], "mk", 2) == 0) {
+ if (strncmp(argv[1], "mk", 2) == 0) {
char *pathp; /* path */
char *nodep; /* new node to add */
int nodeoffset; /* node offset from libfdt */
diff --git a/cmd/tlv_eeprom.c b/cmd/tlv_eeprom.c
index bf8d453dc5b..4591ff336bb 100644
--- a/cmd/tlv_eeprom.c
+++ b/cmd/tlv_eeprom.c
@@ -479,17 +479,14 @@ int do_tlv_eeprom(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[])
show_tlv_devices();
break;
default:
- cmd_usage(cmdtp);
- break;
+ return CMD_RET_USAGE;
}
return 0;
}
// The set command takes one or two args.
- if (argc > 4) {
- cmd_usage(cmdtp);
- return 0;
- }
+ if (argc > 4)
+ return CMD_RET_USAGE;
// Set command. If the TLV exists in the EEPROM, delete it. Then if
// data was supplied for this TLV add the TLV with the new contents at
@@ -512,7 +509,7 @@ int do_tlv_eeprom(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[])
current_dev = devnum;
has_been_read = 0;
} else {
- cmd_usage(cmdtp);
+ return CMD_RET_USAGE;
}
return 0;