[U-Boot-Users] [PATCH 2/3] fdt: Fixup compile error and add a new OF manipulation option

Bryan O'Donoghue bodonoghue at codehermit.ie
Tue Feb 12 02:11:59 CET 2008


Greetings.

This patch fixes up a compile error that crept with with debug switched on.
Introduces CONFIG_OF_CHOSEN_UPDATE - which is useful if you have a /chosen
entry in the dts - which doesn't contain a bootargs entry - in which case you'd
want u-boot's version of this.

Signed-off-by: Bryan O'Donoghue <bodonoghue at codehermit.ie>
---

diff --git a/README b/README
index 26f93c2..bc7a6a4 100644
--- a/README
+++ b/README
@@ -375,6 +375,11 @@ The following options need to be configured:
 		This define fills in the correct boot cpu in the boot
 		param header, the default value is zero if undefined.
 
+		CONFIG_OF_CHOSEN_UPDATE
+
+		This define adds or updates a bootargs field to the /chosen
+		entry.
+
 - Serial Ports:
 		CFG_PL010_SERIAL
 
diff --git a/common/cmd_bootm.c b/common/cmd_bootm.c
index 9546729..c729f52 100644
--- a/common/cmd_bootm.c
+++ b/common/cmd_bootm.c
@@ -975,7 +975,11 @@ do_bootm_linux (cmd_tbl_t *cmdtp, int flag,
 	 * if the user wants it (the logic is in the subroutines).
 	 */
 	if (of_flat_tree) {
-		if (fdt_chosen(of_flat_tree, initrd_start, initrd_end, 0) < 0) {
+#ifdef CONFIG_OF_CHOSEN_UPDATE
+	if (fdt_chosen(of_flat_tree, initrd_start, initrd_end, 1) < 0) {
+#else
+	if (fdt_chosen(of_flat_tree, initrd_start, initrd_end, 0) < 0) {
+#endif
 			puts ("ERROR: /chosen node create failed - "
 				"must RESET the board to recover.\n");
 			do_reset (cmdtp, flag, argc, argv);
diff --git a/common/fdt_support.c b/common/fdt_support.c
index b5ee6e9..ba1306c 100644
--- a/common/fdt_support.c
+++ b/common/fdt_support.c
@@ -408,7 +408,7 @@ void do_fixup_by_path(void *fdt, const char *path, const char *prop,
 {
 #if defined(DEBUG)
 	int i;
-	debug("Updating property '%s/%s' = ", node, prop);
+	debug("Updating property '%s/%s' = ", path, prop);
 	for (i = 0; i < len; i++)
 		debug(" %.2x", *(u8*)(val+i));
 	debug("\n");
@@ -434,7 +434,7 @@ void do_fixup_by_prop(void *fdt,
 	int off;
 #if defined(DEBUG)
 	int i;
-	debug("Updating property '%s/%s' = ", node, prop);
+	debug("Updating property '%s/%s' = ", pname, prop);
 	for (i = 0; i < len; i++)
 		debug(" %.2x", *(u8*)(val+i));
 	debug("\n");
@@ -461,7 +461,7 @@ void do_fixup_by_compat(void *fdt, const char *compat,
 	int off = -1;
 #if defined(DEBUG)
 	int i;
-	debug("Updating property '%s/%s' = ", node, prop);
+	debug("Updating property '%s/%s' = ", compat, prop);
 	for (i = 0; i < len; i++)
 		debug(" %.2x", *(u8*)(val+i));
 	debug("\n");





More information about the U-Boot mailing list