diff options
Diffstat (limited to 'cmd')
-rw-r--r-- | cmd/Kconfig | 1 | ||||
-rw-r--r-- | cmd/Makefile | 2 | ||||
-rw-r--r-- | cmd/elf.c | 34 | ||||
-rw-r--r-- | cmd/pci.c | 3 |
4 files changed, 22 insertions, 18 deletions
diff --git a/cmd/Kconfig b/cmd/Kconfig index 6f75b86e255..270cff6297d 100644 --- a/cmd/Kconfig +++ b/cmd/Kconfig @@ -1166,6 +1166,7 @@ config CMD_EXT4_WRITE config CMD_FAT bool "FAT command support" + select FS_FAT help Support for the FAT fs diff --git a/cmd/Makefile b/cmd/Makefile index 9ea56e99778..b92e42df32e 100644 --- a/cmd/Makefile +++ b/cmd/Makefile @@ -192,3 +192,5 @@ $(obj)/license_data_gz.h: $(obj)/license_data.gz FORCE targets += license_data_size.h $(obj)/license_data_size.h: $(srctree)/Licenses/gpl-2.0.txt FORCE $(call filechk,data_size) + +CFLAGS_ethsw.o := -Wno-enum-conversion diff --git a/cmd/elf.c b/cmd/elf.c index e4c65351118..ed9625b221f 100644 --- a/cmd/elf.c +++ b/cmd/elf.c @@ -147,25 +147,25 @@ int do_bootelf(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) { unsigned long addr; /* Address of the ELF image */ unsigned long rc; /* Return value from user code */ - char *sload, *saddr; + char *sload = NULL; const char *ep = getenv("autostart"); - int rcode = 0; - sload = saddr = NULL; - if (argc == 3) { - sload = argv[1]; - saddr = argv[2]; - } else if (argc == 2) { - if (argv[1][0] == '-') - sload = argv[1]; - else - saddr = argv[1]; - } + /* Consume 'bootelf' */ + argc--; argv++; - if (saddr) - addr = simple_strtoul(saddr, NULL, 16); - else + /* Check for flag. */ + if (argc >= 1 && (argv[0][0] == '-' && \ + (argv[0][1] == 'p' || argv[0][1] == 's'))) { + sload = argv[0]; + /* Consume flag. */ + argc--; argv++; + } + /* Check for address. */ + if (argc >= 1 && strict_strtoul(argv[0], 16, &addr) != -EINVAL) { + /* Consume address */ + argc--; argv++; + } else addr = load_addr; if (!valid_elf_image(addr)) @@ -185,7 +185,7 @@ int do_bootelf(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) * pass address parameter as argv[0] (aka command name), * and all remaining args */ - rc = do_bootelf_exec((void *)addr, argc - 1, argv + 1); + rc = do_bootelf_exec((void *)addr, argc, argv); if (rc != 0) rcode = 1; @@ -385,7 +385,7 @@ int do_bootvx(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) } U_BOOT_CMD( - bootelf, 3, 0, do_bootelf, + bootelf, CONFIG_SYS_MAXARGS, 0, do_bootelf, "Boot from an ELF image in memory", "[-p|-s] [address]\n" "\t- load ELF image at [address] via program headers (-p)\n" diff --git a/cmd/pci.c b/cmd/pci.c index 41b4fffcf9e..fe27b4f761a 100644 --- a/cmd/pci.c +++ b/cmd/pci.c @@ -150,7 +150,8 @@ int pci_bar_show(struct udevice *dev) if ((!is_64 && size_low) || (is_64 && size)) { size = ~size + 1; printf(" %d %#016llx %#016llx %d %s %s\n", - bar_id, base, size, is_64 ? 64 : 32, + bar_id, (unsigned long long)base, + (unsigned long long)size, is_64 ? 64 : 32, is_io ? "I/O" : "MEM", prefetchable ? "Prefetchable" : ""); } |