diff options
Diffstat (limited to 'common')
| -rw-r--r-- | common/cmd_bootm.c | 32 | ||||
| -rw-r--r-- | common/cmd_gpt.c | 45 | ||||
| -rw-r--r-- | common/cmd_nvedit.c | 29 | ||||
| -rw-r--r-- | common/cmd_reiser.c | 2 | ||||
| -rw-r--r-- | common/cmd_ubifs.c | 12 | ||||
| -rw-r--r-- | common/cmd_zfs.c | 2 | ||||
| -rw-r--r-- | common/main.c | 4 | 
7 files changed, 64 insertions, 62 deletions
| diff --git a/common/cmd_bootm.c b/common/cmd_bootm.c index 166b901d7..ba73f5781 100644 --- a/common/cmd_bootm.c +++ b/common/cmd_bootm.c @@ -1469,10 +1469,8 @@ static int do_bootm_netbsd(int flag, int argc, char * const argv[],  	char *consdev;  	char *cmdline; -	if (flag & BOOTM_STATE_OS_PREP) +	if (flag != BOOTM_STATE_OS_GO)  		return 0; -	if ((flag != 0) && (flag != BOOTM_STATE_OS_GO)) -		return 1;  #if defined(CONFIG_FIT)  	if (!images->legacy_hdr_valid) { @@ -1550,10 +1548,8 @@ static int do_bootm_lynxkdi(int flag, int argc, char * const argv[],  {  	image_header_t *hdr = &images->legacy_hdr_os_copy; -	if (flag & BOOTM_STATE_OS_PREP) +	if (flag != BOOTM_STATE_OS_GO)  		return 0; -	if ((flag != 0) && (flag != BOOTM_STATE_OS_GO)) -		return 1;  #if defined(CONFIG_FIT)  	if (!images->legacy_hdr_valid) { @@ -1574,10 +1570,8 @@ static int do_bootm_rtems(int flag, int argc, char * const argv[],  {  	void (*entry_point)(bd_t *); -	if (flag & BOOTM_STATE_OS_PREP) +	if (flag != BOOTM_STATE_OS_GO)  		return 0; -	if ((flag != 0) && (flag != BOOTM_STATE_OS_GO)) -		return 1;  #if defined(CONFIG_FIT)  	if (!images->legacy_hdr_valid) { @@ -1609,10 +1603,8 @@ static int do_bootm_ose(int flag, int argc, char * const argv[],  {  	void (*entry_point)(void); -	if (flag & BOOTM_STATE_OS_PREP) +	if (flag != BOOTM_STATE_OS_GO)  		return 0; -	if ((flag != 0) && (flag != BOOTM_STATE_OS_GO)) -		return 1;  #if defined(CONFIG_FIT)  	if (!images->legacy_hdr_valid) { @@ -1645,10 +1637,8 @@ static int do_bootm_plan9(int flag, int argc, char * const argv[],  	void (*entry_point)(void);  	char *s; -	if (flag & BOOTM_STATE_OS_PREP) +	if (flag != BOOTM_STATE_OS_GO)  		return 0; -	if ((flag != 0) && (flag != BOOTM_STATE_OS_GO)) -		return 1;  #if defined(CONFIG_FIT)  	if (!images->legacy_hdr_valid) { @@ -1694,10 +1684,8 @@ static int do_bootm_vxworks(int flag, int argc, char * const argv[],  {  	char str[80]; -	if (flag & BOOTM_STATE_OS_PREP) +	if (flag != BOOTM_STATE_OS_GO)  		return 0; -	if ((flag != 0) && (flag != BOOTM_STATE_OS_GO)) -		return 1;  #if defined(CONFIG_FIT)  	if (!images->legacy_hdr_valid) { @@ -1719,10 +1707,8 @@ static int do_bootm_qnxelf(int flag, int argc, char * const argv[],  	char *local_args[2];  	char str[16]; -	if (flag & BOOTM_STATE_OS_PREP) +	if (flag != BOOTM_STATE_OS_GO)  		return 0; -	if ((flag != 0) && (flag != BOOTM_STATE_OS_GO)) -		return 1;  #if defined(CONFIG_FIT)  	if (!images->legacy_hdr_valid) { @@ -1746,10 +1732,8 @@ static int do_bootm_integrity(int flag, int argc, char * const argv[],  {  	void (*entry_point)(void); -	if (flag & BOOTM_STATE_OS_PREP) +	if (flag != BOOTM_STATE_OS_GO)  		return 0; -	if ((flag != 0) && (flag != BOOTM_STATE_OS_GO)) -		return 1;  #if defined(CONFIG_FIT)  	if (!images->legacy_hdr_valid) { diff --git a/common/cmd_gpt.c b/common/cmd_gpt.c index a46f5cc34..1f12e6deb 100644 --- a/common/cmd_gpt.c +++ b/common/cmd_gpt.c @@ -11,7 +11,6 @@  #include <common.h>  #include <malloc.h>  #include <command.h> -#include <mmc.h>  #include <part_efi.h>  #include <exports.h>  #include <linux/ctype.h> @@ -122,7 +121,7 @@ static int set_gpt_info(block_dev_desc_t *dev_desc,  	int errno = 0;  	uint64_t size_ll, start_ll; -	debug("%s: MMC lba num: 0x%x %d\n", __func__, +	debug("%s:  lba num: 0x%x %d\n", __func__,  	      (unsigned int)dev_desc->lba, (unsigned int)dev_desc->lba);  	if (str_part == NULL) @@ -235,25 +234,18 @@ err:  	return errno;  } -static int gpt_mmc_default(int dev, const char *str_part) +static int gpt_default(block_dev_desc_t *blk_dev_desc, const char *str_part)  {  	int ret;  	char *str_disk_guid;  	u8 part_count = 0;  	disk_partition_t *partitions = NULL; -	struct mmc *mmc = find_mmc_device(dev); - -	if (mmc == NULL) { -		printf("%s: mmc dev %d NOT available\n", __func__, dev); -		return CMD_RET_FAILURE; -	} -  	if (!str_part)  		return -1;  	/* fill partitions */ -	ret = set_gpt_info(&mmc->block_dev, str_part, +	ret = set_gpt_info(blk_dev_desc, str_part,  			&str_disk_guid, &partitions, &part_count);  	if (ret) {  		if (ret == -1) @@ -266,7 +258,7 @@ static int gpt_mmc_default(int dev, const char *str_part)  	}  	/* save partitions layout to disk */ -	gpt_restore(&mmc->block_dev, str_disk_guid, partitions, part_count); +	gpt_restore(blk_dev_desc, str_disk_guid, partitions, part_count);  	free(str_disk_guid);  	free(partitions); @@ -287,27 +279,28 @@ static int do_gpt(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])  {  	int ret = CMD_RET_SUCCESS;  	int dev = 0; -	char *pstr; +	char *ep; +	block_dev_desc_t *blk_dev_desc;  	if (argc < 5)  		return CMD_RET_USAGE;  	/* command: 'write' */  	if ((strcmp(argv[1], "write") == 0) && (argc == 5)) { -		/* device: 'mmc' */ -		if (strcmp(argv[2], "mmc") == 0) { -			/* check if 'dev' is a number */ -			for (pstr = argv[3]; *pstr != '\0'; pstr++) -				if (!isdigit(*pstr)) { -					printf("'%s' is not a number\n", -						argv[3]); -					return CMD_RET_USAGE; -				} -			dev = (int)simple_strtoul(argv[3], NULL, 10); -			/* write to mmc */ -			if (gpt_mmc_default(dev, argv[4])) -				return CMD_RET_FAILURE; +		dev = (int)simple_strtoul(argv[3], &ep, 10); +		if (!ep || ep[0] != '\0') { +			printf("'%s' is not a number\n", argv[3]); +			return CMD_RET_USAGE;  		} +		blk_dev_desc = get_dev(argv[2], dev); +		if (!blk_dev_desc) { +			printf("%s: %s dev %d NOT available\n", +			       __func__, argv[2], dev); +			return CMD_RET_FAILURE; +		} + +		if (gpt_default(blk_dev_desc, argv[4])) +			return CMD_RET_FAILURE;  	} else {  		return CMD_RET_USAGE;  	} diff --git a/common/cmd_nvedit.c b/common/cmd_nvedit.c index ba9ba1697..5bcc32467 100644 --- a/common/cmd_nvedit.c +++ b/common/cmd_nvedit.c @@ -157,10 +157,8 @@ static int do_env_grep(cmd_tbl_t *cmdtp, int flag,  	grep_how  = H_MATCH_SUBSTR;	/* default: substring search	*/  	grep_what = H_MATCH_BOTH;	/* default: grep names and values */ -	while (argc > 1 && **(argv + 1) == '-') { -		char *arg = *++argv; - -		--argc; +	while (--argc > 0 && **++argv == '-') { +		char *arg = *argv;  		while (*++arg) {  			switch (*arg) {  #ifdef CONFIG_REGEX @@ -1059,6 +1057,23 @@ sep_err:  }  #endif +#if defined(CONFIG_CMD_ENV_EXISTS) +static int do_env_exists(cmd_tbl_t *cmdtp, int flag, int argc, +		       char * const argv[]) +{ +	ENTRY e, *ep; + +	if (argc < 2) +		return CMD_RET_USAGE; + +	e.key = argv[1]; +	e.data = NULL; +	hsearch_r(e, FIND, &ep, &env_htab, 0); + +	return (ep == NULL) ? 1 : 0; +} +#endif +  /*   * New command line interface: "env" command with subcommands   */ @@ -1094,6 +1109,9 @@ static cmd_tbl_t cmd_env_sub[] = {  	U_BOOT_CMD_MKENT(save, 1, 0, do_env_save, "", ""),  #endif  	U_BOOT_CMD_MKENT(set, CONFIG_SYS_MAXARGS, 0, do_env_set, "", ""), +#if defined(CONFIG_CMD_ENV_EXISTS) +	U_BOOT_CMD_MKENT(exists, 2, 0, do_env_exists, "", ""), +#endif  };  #if defined(CONFIG_NEEDS_MANUAL_RELOC) @@ -1136,6 +1154,9 @@ static char env_help_text[] =  #if defined(CONFIG_CMD_EDITENV)  	"env edit name - edit environment variable\n"  #endif +#if defined(CONFIG_CMD_ENV_EXISTS) +	"env exists name - tests for existence of variable\n" +#endif  #if defined(CONFIG_CMD_EXPORTENV)  	"env export [-t | -b | -c] [-s size] addr [var ...] - export environment\n"  #endif diff --git a/common/cmd_reiser.c b/common/cmd_reiser.c index b9d2449e3..887156486 100644 --- a/common/cmd_reiser.c +++ b/common/cmd_reiser.c @@ -141,7 +141,7 @@ int do_reiserload (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])  	filelen = reiserfs_open(filename);  	if (filelen < 0) { -		printf("** File not found %s\n", filename); +		printf("** File not found %s **\n", filename);  		return 1;  	}  	if ((count < filelen) && (count != 0)) { diff --git a/common/cmd_ubifs.c b/common/cmd_ubifs.c index eba54fd00..d9af023d7 100644 --- a/common/cmd_ubifs.c +++ b/common/cmd_ubifs.c @@ -104,8 +104,10 @@ int do_ubifs_ls(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])  	debug("Using filename %s\n", filename);  	ret = ubifs_ls(filename); -	if (ret) -		printf("%s not found!\n", filename); +	if (ret) { +		printf("** File not found %s **\n", filename); +		ret = CMD_RET_FAILURE; +	}  	return ret;  } @@ -140,8 +142,10 @@ int do_ubifs_load(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])  	debug("Loading file '%s' to address 0x%08x (size %d)\n", filename, addr, size);  	ret = ubifs_load(filename, addr, size); -	if (ret) -		printf("%s not found!\n", filename); +	if (ret) { +		printf("** File not found %s **\n", filename); +		ret = CMD_RET_FAILURE; +	}  	return ret;  } diff --git a/common/cmd_zfs.c b/common/cmd_zfs.c index 911086809..0aed29e9b 100644 --- a/common/cmd_zfs.c +++ b/common/cmd_zfs.c @@ -95,7 +95,7 @@ static int do_zfs_load(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]  	memset(&zfile, 0, sizeof(zfile));  	zfile.device = &vdev;  	if (zfs_open(&zfile, filename)) { -		printf("** File not found %s\n", filename); +		printf("** File not found %s **\n", filename);  		return 1;  	} diff --git a/common/main.c b/common/main.c index 6f475f0cc..8b6f274fa 100644 --- a/common/main.c +++ b/common/main.c @@ -392,13 +392,13 @@ static void process_boot_delay(void)  	debug ("### main_loop: bootcmd=\"%s\"\n", s ? s : "<UNDEFINED>");  	if (bootdelay != -1 && s && !abortboot(bootdelay)) { -#ifdef CONFIG_AUTOBOOT_KEYED +#if defined(CONFIG_AUTOBOOT_KEYED) && !defined(CONFIG_AUTOBOOT_KEYED_CTRLC)  		int prev = disable_ctrlc(1);	/* disable Control C checking */  #endif  		run_command_list(s, -1, 0); -#ifdef CONFIG_AUTOBOOT_KEYED +#if defined(CONFIG_AUTOBOOT_KEYED) && !defined(CONFIG_AUTOBOOT_KEYED_CTRLC)  		disable_ctrlc(prev);	/* restore Control C checking */  #endif  	} |