diff options
author | Thomas Petazzoni <thomas.petazzoni@free-electrons.com> | 2013-05-15 09:36:31 +0200 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2013-05-17 07:40:05 +0200 |
commit | e041f86013652680a356d3340cc36d43bfc070ad (patch) | |
tree | cc2282d8033dfb13242641d79e62af55f9583d6b /scripts/kwbimage.c | |
parent | 25547d663c4f9b302771007db03b8f2f1d3c7421 (diff) | |
download | barebox-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.c | 6 |
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; |