rockchip: mkimage: play nice with dumpimage
authorPhilipp Tomsich <philipp.tomsich@theobroma-systems.com>
Mon, 17 Apr 2017 15:48:05 +0000 (17:48 +0200)
committerSimon Glass <sjg@chromium.org>
Wed, 10 May 2017 19:37:21 +0000 (13:37 -0600)
Dumpimage (it invoked with "-T rkspi" or "-T rksd") would not work due
to check_params failing. These changes ensure that we can both be called
with an empty imagename.

Signed-off-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Acked-by: Simon Glass <sjg@chromium.org>
tools/rkcommon.c

index f8260011188e443c4a9d59fd7d43f4eee1cc6863..8283a740c13d3062b34cc6e2ff20404565c16843 100644 (file)
@@ -86,6 +86,9 @@ static struct spl_info *rkcommon_get_spl_info(char *imagename)
 {
        int i;
 
+       if (!imagename)
+               return NULL;
+
        for (i = 0; i < ARRAY_SIZE(spl_infos); i++)
                if (!strncmp(imagename, spl_infos[i].imagename, 6))
                        return spl_infos + i;
@@ -98,17 +101,24 @@ int rkcommon_check_params(struct image_tool_params *params)
        int i;
 
        if (rkcommon_get_spl_info(params->imagename) != NULL)
-               return 0;
+               return EXIT_SUCCESS;
+
+       /*
+        * If this is a operation (list or extract), the don't require
+        * imagename to be set.
+        */
+       if (params->lflag || params->iflag)
+               return EXIT_SUCCESS;
 
        fprintf(stderr, "ERROR: imagename (%s) is not supported!\n",
-               strlen(params->imagename) > 0 ? params->imagename : "NULL");
+               params->imagename ? params->imagename : "NULL");
 
        fprintf(stderr, "Available imagename:");
        for (i = 0; i < ARRAY_SIZE(spl_infos); i++)
                fprintf(stderr, "\t%s", spl_infos[i].imagename);
        fprintf(stderr, "\n");
 
-       return -1;
+       return EXIT_FAILURE;
 }
 
 const char *rkcommon_get_spl_hdr(struct image_tool_params *params)