9
0
Fork 0

scripts/kwbimage: make image_boot_mode_id() return -1 on failure

The function image_boot_mode_id() converts the name of a boot media
into the corresponding Marvell specific code. However, 0 that we
currently used to indicate that the boot media name wasn't found,
could potentially be a valid value. So instead we use -1 to indicate a
failure.

This is also done in preparation to the introduction of
image_nand_ecc_mode_id(), which will convert a NAND ECC mode name into
the corresponding identifier. And in this case 0 is a valid identifier
of a NAND ECC mode, so we cannot use it to indicate a failure. Since
we want image_boot_mode_id() and image_nand_ecc_mode_id() to have a
consistent behavior, we change the former in this commit. The latter
is introduced in the next commit.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Tested-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
This commit is contained in:
Thomas Petazzoni 2013-05-15 09:36:31 +02:00 committed by Sascha Hauer
parent 25547d663c
commit e041f86013
1 changed files with 3 additions and 3 deletions

View File

@ -226,14 +226,14 @@ static const char *image_boot_mode_name(unsigned int id)
return NULL;
}
unsigned int image_boot_mode_id(const char *boot_mode_name)
int image_boot_mode_id(const char *boot_mode_name)
{
int i;
for (i = 0; boot_modes[i].name; i++)
if (!strcmp(boot_modes[i].name, boot_mode_name))
return boot_modes[i].id;
return 0;
return -1;
}
static const char *image_nand_ecc_mode_name(unsigned int id)
@ -987,7 +987,7 @@ static int image_create_config_parse_oneline(char *line,
char *value = strtok_r(NULL, " ", &saveptr);
el->type = IMAGE_CFG_BOOT_FROM;
el->bootfrom = image_boot_mode_id(value);
if (!el->bootfrom) {
if (el->bootfrom < 0) {
fprintf(stderr,
"Invalid boot media '%s'\n", value);
return -1;