cmd: rework "license" command

The previous commit ("add a new command to show .config contents")
improves the basic infrastructure of "embed a compressed file into
the U-Boot image, and print it by a command".  The same pattern for
the "license" command.

This commit reworks the command to improve the following:

[1] Improve log style

Kbuild style log

  GZIP    cmd/license_data.gz
  CHK     cmd/license_data_gz.h
  UPD     cmd/license_data_gz.h
  CHK     cmd/license_data_size.h
  UPD     cmd/license_data_size.h

instead of the bare Make log:

cat ./Licenses/gpl-2.0.txt | gzip -9 -c | \
		tools/bin2header license_gzip > ./include/license.h

[2] Collect related code into the "cmd" directory

Prior to this commit, the license.h was created by tools/Makefile,
placed under the "include" directory, included from cmd/license.c,
and deleted by the top-level Makefile.  It is not a good idea to
scatter related code.

[3] Drop the fixed-malloc size LICENSE_MAX

Just allocate the minimum required size of buffer because we know
the size of the original gpl-2.0.txt.

[4] Fix more issues

Terminate the buffer with zero to prevent puts() from over-running.
Add "static" to do_license.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
diff --git a/cmd/license.c b/cmd/license.c
index 5ee57f8..29fc8aa 100644
--- a/cmd/license.c
+++ b/cmd/license.c
@@ -6,31 +6,36 @@
  */
 
 #include <common.h>
-
-/* Licenses/gpl-2.0.txt is currently 18092 bytes in size */
-#define LICENSE_MAX	20480
-
 #include <command.h>
 #include <malloc.h>
-#include <license.h>
 
-int do_license(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
+#include "license_data_gz.h"
+#include "license_data_size.h"
+
+static int do_license(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
-	char *dst = malloc(LICENSE_MAX);
-	unsigned long len = LICENSE_MAX;
+	char *dst;
+	unsigned long len = data_size;
+	int ret = CMD_RET_SUCCESS;
 
+	dst = malloc(data_size + 1);
 	if (!dst)
-		return -1;
+		return CMD_RET_FAILURE;
 
-	if (gunzip(dst, LICENSE_MAX, license_gzip, &len) != 0) {
+	ret = gunzip(dst, data_size, (unsigned char *)data_gz, &len);
+	if (ret) {
 		printf("Error uncompressing license text\n");
-		free(dst);
-		return -1;
+		ret = CMD_RET_FAILURE;
+		goto free;
 	}
+
+	dst[data_size] = 0;
 	puts(dst);
+
+free:
 	free(dst);
 
-	return 0;
+	return ret;
 }
 
 U_BOOT_CMD(