summaryrefslogtreecommitdiff
path: root/tools/mkimage.c
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2016-06-30 10:52:18 -0600
committerTom Rini <trini@konsulko.com>2016-07-14 18:22:30 -0400
commitf24e10500ffc7ff4b9c75de0e9b1f3efdd43ef41 (patch)
tree29354d4532e289e635ecd71980345944260b71dd /tools/mkimage.c
parent306642251234f68f14fa9e86b9f5df6a88632817 (diff)
downloadu-boot-imx-f24e10500ffc7ff4b9c75de0e9b1f3efdd43ef41.zip
u-boot-imx-f24e10500ffc7ff4b9c75de0e9b1f3efdd43ef41.tar.gz
u-boot-imx-f24e10500ffc7ff4b9c75de0e9b1f3efdd43ef41.tar.bz2
mkimage: Use generic code for showing an 'image type' error
The existing error code only displays image types which are claimed by a particular U_BOOT_IMAGE_TYPE() driver. But this does not seem correct. The mkimage tool should support all image types, so it makes sense to allow creation of images of any type with the tool. When an incorrect image type is provided, use generic code to display the error. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Tom Rini <trini@konsulko.com>
Diffstat (limited to 'tools/mkimage.c')
-rw-r--r--tools/mkimage.c45
1 files changed, 2 insertions, 43 deletions
diff --git a/tools/mkimage.c b/tools/mkimage.c
index d375c2a..3cdbb2c 100644
--- a/tools/mkimage.c
+++ b/tools/mkimage.c
@@ -37,7 +37,7 @@ static int h_compare_category_name(const void *vtype1, const void *vtype2)
return strcmp(name1, name2);
}
-int show_valid_options(enum ih_category category)
+static int show_valid_options(enum ih_category category)
{
int *order;
int count;
@@ -68,47 +68,6 @@ int show_valid_options(enum ih_category category)
return 0;
}
-static int h_compare_image_name(const void *vtype1, const void *vtype2)
-{
- const int *type1 = vtype1;
- const int *type2 = vtype2;
- const char *name1 = genimg_get_type_short_name(*type1);
- const char *name2 = genimg_get_type_short_name(*type2);
-
- return strcmp(name1, name2);
-}
-
-/* Show all image types supported by mkimage */
-static void show_image_types(void)
-{
- struct image_type_params *tparams;
- int order[IH_TYPE_COUNT];
- int count;
- int type;
- int i;
-
- /* Sort the names in order of short name for easier reading */
- memset(order, '\0', sizeof(order));
- for (count = 0, type = 0; type < IH_TYPE_COUNT; type++) {
- tparams = imagetool_get_type(type);
- if (tparams)
- order[count++] = type;
- }
- qsort(order, count, sizeof(int), h_compare_image_name);
-
- fprintf(stderr, "\nInvalid image type. Supported image types:\n");
- for (i = 0; i < count; i++) {
- type = order[i];
- tparams = imagetool_get_type(type);
- if (tparams) {
- fprintf(stderr, "\t%-15s %s\n",
- genimg_get_type_short_name(type),
- genimg_get_type_name(type));
- }
- }
- fprintf(stderr, "\n");
-}
-
static void usage(const char *msg)
{
fprintf(stderr, "Error: %s\n", msg);
@@ -286,7 +245,7 @@ static void process_args(int argc, char **argv)
case 'T':
type = genimg_get_type_id(optarg);
if (type < 0) {
- show_image_types();
+ show_valid_options(IH_TYPE);
usage("Invalid image type");
}
break;