summaryrefslogtreecommitdiffstats
path: root/scripts/kwbimage.c
diff options
context:
space:
mode:
authorThomas Petazzoni <thomas.petazzoni@free-electrons.com>2013-05-15 09:36:31 +0200
committerSascha Hauer <s.hauer@pengutronix.de>2013-05-17 07:40:05 +0200
commite041f86013652680a356d3340cc36d43bfc070ad (patch)
treecc2282d8033dfb13242641d79e62af55f9583d6b /scripts/kwbimage.c
parent25547d663c4f9b302771007db03b8f2f1d3c7421 (diff)
downloadbarebox-e041f86013652680a356d3340cc36d43bfc070ad.tar.gz
barebox-e041f86013652680a356d3340cc36d43bfc070ad.tar.xz
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>
Diffstat (limited to 'scripts/kwbimage.c')
-rw-r--r--scripts/kwbimage.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/scripts/kwbimage.c b/scripts/kwbimage.c
index 631f131e9d..0127e2b6ff 100644
--- a/scripts/kwbimage.c
+++ b/scripts/kwbimage.c
@@ -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;