Improve error messages, more informative.

Print more than the raw libfdt error message strings.  This is especially
useful for cluing in the user when the bootm command aborts due to
blob problems.

Signed-off-by: Gerald Van Baren <vanbaren@cideas.com>
diff --git a/common/fdt_support.c b/common/fdt_support.c
index 69099c4..bcdc415 100644
--- a/common/fdt_support.c
+++ b/common/fdt_support.c
@@ -67,7 +67,7 @@
 			return err;
 		}
 		if (used >= total) {
-			printf("fdt_chosen: no room in the reserved map (%d of %d)\n",
+			printf("WARNING fdt_chosen: no room in the reserved map (%d of %d)\n",
 				used, total);
 			return -1;
 		}
@@ -110,7 +110,7 @@
 		 */
 		nodeoffset = fdt_add_subnode(fdt, 0, "chosen");
 		if (nodeoffset < 0) {
-			printf("libfdt: %s\n", fdt_strerror(nodeoffset));
+			printf("WARNING fdt_chosen: could not create the \"/chosen node\" (libfdt error %s).\n", fdt_strerror(nodeoffset));
 			return nodeoffset;
 		}
 	}
@@ -122,22 +122,22 @@
 	if (str != NULL) {
 		err = fdt_setprop(fdt, nodeoffset, "bootargs", str, strlen(str)+1);
 		if (err < 0)
-			printf("libfdt: %s\n", fdt_strerror(err));
+			printf("WARNING fdt_chosen: could not set \"bootargs\" (libfdt error %s).\n", fdt_strerror(err));
 	}
 	if (initrd_start && initrd_end) {
 		tmp = __cpu_to_be32(initrd_start);
 		err = fdt_setprop(fdt, nodeoffset, "linux,initrd-start", &tmp, sizeof(tmp));
 		if (err < 0)
-			printf("libfdt: %s\n", fdt_strerror(err));
+			printf("WARNING fdt_chosen: could not set \"linux,initrd-start\" (libfdt error %s).\n", fdt_strerror(err));
 		tmp = __cpu_to_be32(initrd_end);
 		err = fdt_setprop(fdt, nodeoffset, "linux,initrd-end", &tmp, sizeof(tmp));
 		if (err < 0)
-			printf("libfdt: %s\n", fdt_strerror(err));
+			printf("WARNING fdt_chosen: could not set \"linux,initrd-end\" (libfdt error %s).\n", fdt_strerror(err));
 	}
 #ifdef OF_STDOUT_PATH
 	err = fdt_setprop(fdt, nodeoffset, "linux,stdout-path", OF_STDOUT_PATH, strlen(OF_STDOUT_PATH)+1);
 	if (err < 0)
-		printf("libfdt: %s\n", fdt_strerror(err));
+		printf("WARNING fdt_chosen: could not set \"linux,stdout-path\" (libfdt error %s).\n", fdt_strerror(err));
 #endif
 
 	nodeoffset = fdt_path_offset (fdt, "/cpus");
@@ -145,7 +145,7 @@
 		clock = cpu_to_be32(bd->bi_intfreq);
 		err = fdt_setprop(fdt, nodeoffset, "clock-frequency", &clock, 4);
 		if (err < 0)
-			printf("libfdt: %s\n", fdt_strerror(err));
+			printf("WARNING fdt_chosen: could not set \"clock-frequency\" (libfdt error %s).\n", fdt_strerror(err));
 	}
 #ifdef OF_TBCLK
 	nodeoffset = fdt_path_offset (fdt, "/cpus/" OF_CPU "/timebase-frequency");
@@ -153,7 +153,7 @@
 		clock = cpu_to_be32(OF_TBCLK);
 		err = fdt_setprop(fdt, nodeoffset, "clock-frequency", &clock, 4);
 		if (err < 0)
-			printf("libfdt: %s\n", fdt_strerror(err));
+			printf("WARNING fdt_chosen: could not set \"clock-frequency\" (libfdt error %s).\n", fdt_strerror(err));
 	}
 #endif
 	return err;
@@ -198,7 +198,7 @@
 	 */
 	nodeoffset = fdt_add_subnode(fdt, 0, "u-boot-env");
 	if (nodeoffset < 0) {
-		printf("libfdt: %s\n", fdt_strerror(nodeoffset));
+		printf("WARNING fdt_env: could not create the \"/u-boot-env node\" (libfdt error %s).\n", fdt_strerror(nodeoffset));
 		return nodeoffset;
 	}
 
@@ -226,7 +226,7 @@
 			continue;
 		err = fdt_setprop(fdt, nodeoffset, lval, rval, strlen(rval)+1);
 		if (err < 0) {
-			printf("libfdt: %s\n", fdt_strerror(err));
+			printf("WARNING fdt_env: could not set \"%s\" (libfdt error %s).\n", lval, fdt_strerror(err));
 			return err;
 		}
 	}
@@ -318,6 +318,7 @@
 	 */
 	nodeoffset = fdt_add_subnode(fdt, 0, "bd_t");
 	if (nodeoffset < 0) {
+		printf("WARNING fdt_bd_t: could not create the \"/bd_t node\" (libfdt error %s).\n", fdt_strerror(nodeoffset));
 		printf("libfdt: %s\n", fdt_strerror(nodeoffset));
 		return nodeoffset;
 	}
@@ -328,17 +329,17 @@
 		tmp = cpu_to_be32(getenv("bootargs"));
 		err = fdt_setprop(fdt, nodeoffset, bd_map[i].name, &tmp, sizeof(tmp));
 		if (err < 0)
-			printf("libfdt: %s\n", fdt_strerror(err));
+			printf("WARNING fdt_bd_t: could not set \"%s\" (libfdt error %s).\n", bd_map[i].name, fdt_strerror(err));
 	}
 	/*
 	 * Add a couple of oddball entries...
 	 */
 	err = fdt_setprop(fdt, nodeoffset, "enetaddr", &bd->bi_enetaddr, 6);
 	if (err < 0)
-		printf("libfdt: %s\n", fdt_strerror(err));
+		printf("WARNING fdt_bd_t: could not set \"enetaddr\" (libfdt error %s).\n", fdt_strerror(err));
 	err = fdt_setprop(fdt, nodeoffset, "ethspeed", &bd->bi_ethspeed, 4);
 	if (err < 0)
-		printf("libfdt: %s\n", fdt_strerror(err));
+		printf("WARNING fdt_bd_t: could not set \"ethspeed\" (libfdt error %s).\n", fdt_strerror(err));
 
 	return 0;
 }