Skip to contentSkip to conversation

Fix errors when CONFIG_OF_LIBFDT is enabled

PATCH New Jerry Van Baren 3 participants 5 messages May 26, 2007 – May 30, 2007

lore
Share & tools
lore
#0 lore raw

PATCH 1/3 Fix errors when CONFIG_OF_LIBFDT is enabled

Several node strings were not correct (trailing slashes and properties
in the strings)
Added setting of the timebase-frequency (if OF_TBCLK is defined). Added more error printouts.

---
Kim:

Please ack/nack.

Thanks,
gvb

 cpu/mpc83xx/cpu.c |   63 +++++++++++++++++++++++++++++++++++++----------------
 1 files changed, 44 insertions(+), 19 deletions(-)
cpu/mpc83xx/cpu.c +44 -19
index 01d4dd6..42c32c3 100644
@@ -337,7 +337,7 @@ static int fdt_set_eth0(void *fdt, int nodeoffset, const char *name, bd_t *bd)
 	if (fdt_get_property(fdt, nodeoffset, name, 0)) {
 		return fdt_setprop(fdt, nodeoffset, name, bd->bi_enetaddr, 6);
 	}
-	return -FDT_ERR_NOTFOUND;
+	return 0;	/* doesn't exist, but is not a problem. */
 }
 #ifdef CONFIG_HAS_ETH1
 /* second onboard ethernet port */
@@ -349,7 +349,7 @@ static int fdt_set_eth1(void *fdt, int nodeoffset, const char *name, bd_t *bd)
 	if (fdt_get_property(fdt, nodeoffset, name, 0)) {
 		return fdt_setprop(fdt, nodeoffset, name, bd->bi_enet1addr, 6);
 	}
-	return -FDT_ERR_NOTFOUND;
+	return 0;	/* doesn't exist, but is not a problem. */
 }
 #endif
 #ifdef CONFIG_HAS_ETH2
@@ -362,7 +362,7 @@ static int fdt_set_eth2(void *fdt, int nodeoffset, const char *name, bd_t *bd)
 	if (fdt_get_property(fdt, nodeoffset, name, 0)) {
 		return fdt_setprop(fdt, nodeoffset, name, bd->bi_enet2addr, 6);
 	}
-	return -FDT_ERR_NOTFOUND;
+	return 0;	/* doesn't exist, but is not a problem. */
 }
 #endif
 #ifdef CONFIG_HAS_ETH3
@@ -375,7 +375,7 @@ static int fdt_set_eth3(void *fdt, int nodeoffset, const char *name, bd_t *bd)
 	if (fdt_get_property(fdt, nodeoffset, name, 0)) {
 		return fdt_setprop(fdt, nodeoffset, name, bd->bi_enet3addr, 6);
 	}
-	return -FDT_ERR_NOTFOUND;
+	return 0;	/* doesn't exist, but is not a problem. */
 }
 #endif
 
@@ -389,6 +389,19 @@ static int fdt_set_busfreq(void *fdt, int nodeoffset, const char *name, bd_t *bd
 	return fdt_setprop(fdt, nodeoffset, name, &tmp, sizeof(tmp));
 }
 
+#ifdef OF_TBCLK
+static int fdt_set_tbfreq(void *fdt, int nodeoffset, const char *name, bd_t *bd)
+{
+	u32  tmp;
+	/*
+	 * Create or update the property.
+	 */
+	tmp = cpu_to_be32(OF_TBCLK);
+	return fdt_setprop(fdt, nodeoffset, name, &tmp, sizeof(tmp));
+}
+#endif
+
+
 /*
  * Fixups to the fdt.  If "create" is TRUE, the node is created
  * unconditionally.  If "create" is FALSE, the node is updated
@@ -399,19 +412,25 @@ static const struct {
 	char *prop;
 	int (*set_fn)(void *fdt, int nodeoffset, const char *name, bd_t *bd);
 } fixup_props[] = {
+#ifdef OF_TBCLK
 	{	"/cpus/" OF_CPU,
-		 "bus-frequency",
-		fdt_set_busfreq
+		"timebase-frequency",
+		fdt_set_tbfreq
 	},
-	{	"/cpus/" OF_SOC,
+#endif
+	{	"/cpus/" OF_CPU,
 		"bus-frequency",
 		fdt_set_busfreq
 	},
-	{	"/" OF_SOC "/serial at 4500/",
+	{	"/cpus/" OF_CPU,
+		"clock-frequency",
+		fdt_set_busfreq
+	},
+	{	"/" OF_SOC "/serial at 4500",
 		"clock-frequency",
 		fdt_set_busfreq
 	},
-	{	"/" OF_SOC "/serial at 4600/",
+	{	"/" OF_SOC "/serial at 4600",
 		"clock-frequency",
 		fdt_set_busfreq
 	},
@@ -437,20 +456,20 @@ static const struct {
 #endif
 #ifdef CONFIG_UEC_ETH1
 #if CFG_UEC1_UCC_NUM == 0  /* UCC1 */
-	{	"/" OF_QE "/ucc at 2000/mac-address",
+	{	"/" OF_QE "/ucc at 2000",
 		"mac-address",
 		fdt_set_eth0
 	},
-	{	"/" OF_QE "/ucc at 2000/mac-address",
+	{	"/" OF_QE "/ucc at 2000",
 		"local-mac-address",
 		fdt_set_eth0
 	},
 #elif CFG_UEC1_UCC_NUM == 2  /* UCC3 */
-	{	"/" OF_QE "/ucc at 2200/mac-address",
+	{	"/" OF_QE "/ucc at 2200",
 		"mac-address",
 		fdt_set_eth0
 	},
-	{	"/" OF_QE "/ucc at 2200/mac-address",
+	{	"/" OF_QE "/ucc at 2200",
 		"local-mac-address",
 		fdt_set_eth0
 	},
@@ -458,20 +477,20 @@ static const struct {
 #endif
 #ifdef CONFIG_UEC_ETH2
 #if CFG_UEC2_UCC_NUM == 1  /* UCC2 */
-	{	"/" OF_QE "/ucc at 3000/mac-address",
+	{	"/" OF_QE "/ucc at 3000",
 		"mac-address",
 		fdt_set_eth1
 	},
-	{	"/" OF_QE "/ucc at 3000/mac-address",
+	{	"/" OF_QE "/ucc at 3000",
 		"local-mac-address",
 		fdt_set_eth1
 	},
 #elif CFG_UEC1_UCC_NUM == 3  /* UCC4 */
-	{	"/" OF_QE "/ucc at 3200/mac-address",
+	{	"/" OF_QE "/ucc at 3200",
 		"mac-address",
 		fdt_set_eth1
 	},
-	{	"/" OF_QE "/ucc at 3200/mac-address",
+	{	"/" OF_QE "/ucc at 3200",
 		"local-mac-address",
 		fdt_set_eth1
 	},
@@ -489,12 +508,18 @@ ft_cpu_setup(void *blob, bd_t *bd)
 	for (j = 0; j < (sizeof(fixup_props) / sizeof(fixup_props[0])); j++) {
 		nodeoffset = fdt_find_node_by_path(fdt, fixup_props[j].node);
 		if (nodeoffset >= 0) {
-			err = fixup_props[j].set_fn(blob, nodeoffset, fixup_props[j].prop, bd);
+			err = fixup_props[j].set_fn(
+				blob, nodeoffset, fixup_props[j].prop, bd);
 			if (err < 0)
-				printf("set_fn/libfdt: %s %s returned %s\n",
+				printf("set_fn(%s, %s) returned %s\n",
 					fixup_props[j].node,
 					fixup_props[j].prop,
 					fdt_strerror(err));
+		} else {
+			printf("fdt_find_node_by_path(%s) returned %s\n",
+				fixup_props[j].node,
+				fdt_strerror(nodeoffset));
+			
 		}
 	}
 }
Signature · 1 line
1.4.4.4
#1 lore raw

PATCH 1/3 Fix errors when CONFIG_OF_LIBFDT is enabled

Quoted 49 lines · On Sat, 26 May 2007 08:50:58 -0400 Jerry Van Baren <[email protected]> wrote:

Several node strings were not correct (trailing slashes and properties
in the strings)
Added setting of the timebase-frequency (if OF_TBCLK is defined). Added more error printouts.

---
Kim:

Please ack/nack.

Thanks,
gvb

 cpu/mpc83xx/cpu.c |   63 +++++++++++++++++++++++++++++++++++++----------------
 1 files changed, 44 insertions(+), 19 deletions(-)
cpu/mpc83xx/cpu.c +3 -3
index 01d4dd6..42c32c3 100644
@@ -337,7 +337,7 @@ static int fdt_set_eth0(void *fdt, int nodeoffset, const char *name, bd_t *bd)
 	if (fdt_get_property(fdt, nodeoffset, name, 0)) {
 		return fdt_setprop(fdt, nodeoffset, name, bd->bi_enetaddr, 6);
 	}
-	return -FDT_ERR_NOTFOUND;
+	return 0;	/* doesn't exist, but is not a problem. */
 }
 #ifdef CONFIG_HAS_ETH1
 /* second onboard ethernet port */
@@ -349,7 +349,7 @@ static int fdt_set_eth1(void *fdt, int nodeoffset, const char *name, bd_t *bd)
 	if (fdt_get_property(fdt, nodeoffset, name, 0)) {
 		return fdt_setprop(fdt, nodeoffset, name, bd->bi_enet1addr, 6);
 	}
-	return -FDT_ERR_NOTFOUND;
+	return 0;	/* doesn't exist, but is not a problem. */
 }
 #endif
 #ifdef CONFIG_HAS_ETH2
@@ -362,7 +362,7 @@ static int fdt_set_eth2(void *fdt, int nodeoffset, const char *name, bd_t *bd)
 	if (fdt_get_property(fdt, nodeoffset, name, 0)) {
 		return fdt_setprop(fdt, nodeoffset, name, bd->bi_enet2addr, 6);
 	}
-	return -FDT_ERR_NOTFOUND;
+	return 0;	/* doesn't exist, but is not a problem. */
 }
 #endif
 #ifdef CONFIG_HAS_ETH3

cpu/mpc83xx/cpu.c static int fdt_set_eth3(void *fdt, int nodeoffset, const char *name, bd_t *bd) · line 378

Quoted 5 lines
cpu/mpc83xx/cpu.c +1 -1
@@ -375,7 +375,7 @@ static int fdt_set_eth3(void *fdt, int nodeoffset, const char *name, bd_t *bd)
 	if (fdt_get_property(fdt, nodeoffset, name, 0)) {
 		return fdt_setprop(fdt, nodeoffset, name, bd->bi_enet3addr, 6);
 	}
-	return -FDT_ERR_NOTFOUND;
+	return 0;	/* doesn't exist, but is not a problem. */

This comment probably applies to the commit log more than in the code. In the code, you mean it's not fatal? People can see that in the 'return 0'. Remove the comment?

cpu/mpc83xx/cpu.c static const struct {

Quoted 55 lines
cpu/mpc83xx/cpu.c +24 -5
 }
 #endif
 
@@ -389,6 +389,19 @@ static int fdt_set_busfreq(void *fdt, int nodeoffset, const char *name, bd_t *bd
 	return fdt_setprop(fdt, nodeoffset, name, &tmp, sizeof(tmp));
 }
 
+#ifdef OF_TBCLK
+static int fdt_set_tbfreq(void *fdt, int nodeoffset, const char *name, bd_t *bd)
+{
+	u32  tmp;
+	/*
+	 * Create or update the property.
+	 */
+	tmp = cpu_to_be32(OF_TBCLK);
+	return fdt_setprop(fdt, nodeoffset, name, &tmp, sizeof(tmp));
+}
+#endif
+
+
 /*
  * Fixups to the fdt.  If "create" is TRUE, the node is created
  * unconditionally.  If "create" is FALSE, the node is updated
@@ -399,19 +412,25 @@ static const struct {
 	char *prop;
 	int (*set_fn)(void *fdt, int nodeoffset, const char *name, bd_t *bd);
 } fixup_props[] = {
+#ifdef OF_TBCLK
 	{	"/cpus/" OF_CPU,
-		 "bus-frequency",
-		fdt_set_busfreq
+		"timebase-frequency",
+		fdt_set_tbfreq
 	},
-	{	"/cpus/" OF_SOC,
+#endif
+	{	"/cpus/" OF_CPU,
 		"bus-frequency",
 		fdt_set_busfreq
 	},
-	{	"/" OF_SOC "/serial at 4500/",
+	{	"/cpus/" OF_CPU,
+		"clock-frequency",
+		fdt_set_busfreq
+	},
+	{	"/" OF_SOC "/serial at 4500",
 		"clock-frequency",
 		fdt_set_busfreq
 	},
-	{	"/" OF_SOC "/serial at 4600/",
+	{	"/" OF_SOC "/serial at 4600",
 		"clock-frequency",
 		fdt_set_busfreq
 	},
@@ -437,20 +456,20 @@ static const struct {

you missed the TSEC entries here (there are unterminated strings there!).

Quoted 50 lines
cpu/mpc83xx/cpu.c +8 -8
 #endif
 #ifdef CONFIG_UEC_ETH1
 #if CFG_UEC1_UCC_NUM == 0  /* UCC1 */
-	{	"/" OF_QE "/ucc at 2000/mac-address",
+	{	"/" OF_QE "/ucc at 2000",
 		"mac-address",
 		fdt_set_eth0
 	},
-	{	"/" OF_QE "/ucc at 2000/mac-address",
+	{	"/" OF_QE "/ucc at 2000",
 		"local-mac-address",
 		fdt_set_eth0
 	},
 #elif CFG_UEC1_UCC_NUM == 2  /* UCC3 */
-	{	"/" OF_QE "/ucc at 2200/mac-address",
+	{	"/" OF_QE "/ucc at 2200",
 		"mac-address",
 		fdt_set_eth0
 	},
-	{	"/" OF_QE "/ucc at 2200/mac-address",
+	{	"/" OF_QE "/ucc at 2200",
 		"local-mac-address",
 		fdt_set_eth0
 	},
@@ -458,20 +477,20 @@ static const struct {
 #endif
 #ifdef CONFIG_UEC_ETH2
 #if CFG_UEC2_UCC_NUM == 1  /* UCC2 */
-	{	"/" OF_QE "/ucc at 3000/mac-address",
+	{	"/" OF_QE "/ucc at 3000",
 		"mac-address",
 		fdt_set_eth1
 	},
-	{	"/" OF_QE "/ucc at 3000/mac-address",
+	{	"/" OF_QE "/ucc at 3000",
 		"local-mac-address",
 		fdt_set_eth1
 	},
 #elif CFG_UEC1_UCC_NUM == 3  /* UCC4 */
-	{	"/" OF_QE "/ucc at 3200/mac-address",
+	{	"/" OF_QE "/ucc at 3200",
 		"mac-address",
 		fdt_set_eth1
 	},
-	{	"/" OF_QE "/ucc at 3200/mac-address",
+	{	"/" OF_QE "/ucc at 3200",
 		"local-mac-address",
 		fdt_set_eth1
 	},

cpu/mpc83xx/cpu.c ft_cpu_setup(void *blob, bd_t *bd) · line 514

Quoted 9 lines
cpu/mpc83xx/cpu.c +3 -2
@@ -489,12 +508,18 @@ ft_cpu_setup(void *blob, bd_t *bd)
 	for (j = 0; j < (sizeof(fixup_props) / sizeof(fixup_props[0])); j++) {
 		nodeoffset = fdt_find_node_by_path(fdt, fixup_props[j].node);
 		if (nodeoffset >= 0) {
-			err = fixup_props[j].set_fn(blob, nodeoffset, fixup_props[j].prop, bd);
+			err = fixup_props[j].set_fn(
+				blob, nodeoffset, fixup_props[j].prop, bd);
 			if (err < 0)
-				printf("set_fn/libfdt: %s %s returned %s\n",
+				printf("set_fn(%s, %s) returned %s\n",

naming functions in user messages is more a property of debug code; if you want, either make it debug code, or say something like "problem setting %s/%s: %s". Probably best to make it debug code since I don't see this error occurring often.

cpu/mpc83xx/cpu.c ft_cpu_setup(void *blob, bd_t *bd) · line 522

Quoted 8 lines
cpu/mpc83xx/cpu.c +5 -0
 					fixup_props[j].node,
 					fixup_props[j].prop,
 					fdt_strerror(err));
+		} else {
+			printf("fdt_find_node_by_path(%s) returned %s\n",
+				fixup_props[j].node,
+				fdt_strerror(nodeoffset));
+			

"couldn't find %s: %s"

Please respin, base on top of u-boot-testing (you might create a conflict with another TSEC patch if you don't), and since it applies to cpu/mpc83xx/cpu.c, submit through the mpc83xx tree (i.e. prepend the string 'mpc83xx: ' in your subject, and wait for me to ask Wolfgang to pull).

This seems to have fixed most of the functional issues; thanks for that. Please read linux-2.6/Documentation/CodingStyle if you haven't already. Thank you!

Kim

#2 lore raw

PATCH 1/3 Fix errors when CONFIG_OF_LIBFDT is enabled

Quoted 24 lines · Kim Phillips
Quoted 21 lines · On Sat, 26 May 2007 08:50:58 -0400 Jerry Van Baren <[email protected]> wrote:

Several node strings were not correct (trailing slashes and properties
in the strings)
Added setting of the timebase-frequency (if OF_TBCLK is defined). Added more error printouts.

---
Kim:

Please ack/nack.

Thanks,
gvb

 cpu/mpc83xx/cpu.c |   63 +++++++++++++++++++++++++++++++++++++----------------
 1 files changed, 44 insertions(+), 19 deletions(-)
cpu/mpc83xx/cpu.c +0 -0
index 01d4dd6..42c32c3 100644

[snip]

Quoted 11 lines

cpu/mpc83xx/cpu.c static int fdt_set_eth3(void *fdt, int nodeoffset, const char *name, bd_t *bd) · line 378

Quoted 7 lines

#ifdef CONFIG_HAS_ETH3

cpu/mpc83xx/cpu.c +1 -1
@@ -375,7 +375,7 @@ static int fdt_set_eth3(void *fdt, int nodeoffset, const char *name, bd_t *bd)
 	if (fdt_get_property(fdt, nodeoffset, name, 0)) {
 		return fdt_setprop(fdt, nodeoffset, name, bd->bi_enet3addr, 6);
 	}
-	return -FDT_ERR_NOTFOUND;
+	return 0;	/* doesn't exist, but is not a problem. */

This comment probably applies to the commit log more than in the code. In the code, you mean it's not fatal? People can see that in the 'return 0'. Remove the comment?

When I wrote it originally, I mistakenly returned -FDT_ERR_NOTFOUND, wanted to make it clear to the next editor that 0 (OK) was intentional.

The ETH* do a set if it exists, do not create if it doesn't exist. Other properties are created if they don't exist. Part of the above comments were to highlight that the different pattern/behavior was intentional.

Quoted 7 lines
Quoted 7 lines
cpu/mpc83xx/cpu.c +0 -0
 }
 #endif
 
@@ -389,6 +389,19 @@ static int fdt_set_busfreq(void *fdt, int nodeoffset, const char *name, bd_t *bd
 	return fdt_setprop(fdt, nodeoffset, name, &tmp, sizeof(tmp));
 }
 
Quoted 16 lines
Quoted 6 lines
cpu/mpc83xx/cpu.c +6 -0
+#ifdef OF_TBCLK
+static int fdt_set_tbfreq(void *fdt, int nodeoffset, const char *name, bd_t *bd)
+{
+	u32  tmp;
+	/*
+	 * Create or update the property.

cpu/mpc83xx/cpu.c static int fdt_set_busfreq(void *fdt, int nodeoffset, const char *name, bd_t *bd · line 407

Quoted 10 lines
cpu/mpc83xx/cpu.c +7 -0
+	 */
+	tmp = cpu_to_be32(OF_TBCLK);
+	return fdt_setprop(fdt, nodeoffset, name, &tmp, sizeof(tmp));
+}
+#endif
+
+
 /*
  * Fixups to the fdt.  If "create" is TRUE, the node is created
  * unconditionally.  If "create" is FALSE, the node is updated

Whups, "create" no longer exists. That comment needs to be edited.

Quoted 27 lines
Quoted 27 lines
cpu/mpc83xx/cpu.c +10 -5
@@ -399,19 +412,25 @@ static const struct {
 	char *prop;
 	int (*set_fn)(void *fdt, int nodeoffset, const char *name, bd_t *bd);
 } fixup_props[] = {
+#ifdef OF_TBCLK
 	{	"/cpus/" OF_CPU,
-		 "bus-frequency",
-		fdt_set_busfreq
+		"timebase-frequency",
+		fdt_set_tbfreq
 	},
-	{	"/cpus/" OF_SOC,
+#endif
+	{	"/cpus/" OF_CPU,
 		"bus-frequency",
 		fdt_set_busfreq
 	},
-	{	"/" OF_SOC "/serial at 4500/",
+	{	"/cpus/" OF_CPU,
+		"clock-frequency",
+		fdt_set_busfreq
+	},
+	{	"/" OF_SOC "/serial at 4500",
 		"clock-frequency",
 		fdt_set_busfreq
 	},
-	{	"/" OF_SOC "/serial at 4600/",
Quoted 8 lines

cpu/mpc83xx/cpu.c static const struct {

Quoted 5 lines
cpu/mpc83xx/cpu.c +1 -0
+	{	"/" OF_SOC "/serial at 4600",
 		"clock-frequency",
 		fdt_set_busfreq
 	},
@@ -437,20 +456,20 @@ static const struct {

you missed the TSEC entries here (there are unterminated strings there!).

TSEC entries weren't in the code when I wrote this. Now they are and need to be added. :-/

I don't see any unterminated strings (and it compiles for me). Pasting together strings and macros is nasty.

[snip]

Quoted 14 lines

cpu/mpc83xx/cpu.c ft_cpu_setup(void *blob, bd_t *bd) · line 522

Quoted 5 lines
cpu/mpc83xx/cpu.c +5 -0
+		} else {
+			printf("fdt_find_node_by_path(%s) returned %s\n",
+				fixup_props[j].node,
+				fdt_strerror(nodeoffset));
+			

"couldn't find %s: %s"

Please respin, base on top of u-boot-testing (you might create a conflict with another TSEC patch if you don't), and since it applies to cpu/mpc83xx/cpu.c, submit through the mpc83xx tree (i.e. prepend the string 'mpc83xx: ' in your subject, and wait for me to ask Wolfgang to pull).

Quoted 6 lines

This seems to have fixed most of the functional issues; thanks for that. Please read linux-2.6/Documentation/CodingStyle if you haven't already. Thank you!

Kim

Will do.

Thanks,
gvb

#3 lore raw

PATCH 1/3 Fix errors when CONFIG_OF_LIBFDT is enabled

Quoted 4 lines · On Tue, 29 May 2007 22:24:49 -0400 Jerry Van Baren <[email protected]> wrote:
Quoted 3 lines · Kim Phillips

On Sat, 26 May 2007 08:50:58 -0400
Jerry Van Baren <[email protected]> wrote:

<snip>

Quoted 10 lines
Quoted 5 lines

Review static const struct {

Quoted 2 lines
(quoted diff) +0 -0
 	},
@@ -437,20 +456,20 @@ static const struct {

you missed the TSEC entries here (there are unterminated strings there!).

TSEC entries weren't in the code when I wrote this. Now they are and need to be added. :-/

I don't see any unterminated strings (and it compiles for me). Pasting

that's odd - my compiler sees them and errors out on them:

cpu.c:438: error: missing terminating " character cpu.c:439: error: syntax error before string constant cpu.c:441: warning: initialization from incompatible pointer type cpu.c:442: error: missing terminating " character cpu.c:443: error: syntax error before string constant cpu.c:445: warning: initialization from incompatible pointer type cpu.c:448: error: missing terminating " character cpu.c:449: error: syntax error before string constant cpu.c:451: warning: initialization from incompatible pointer type cpu.c:452: error: missing terminating " character cpu.c:453: error: syntax error before string constant cpu.c:455: warning: initialization from incompatible pointer type make[1]: *** [cpu.o] Error 1
make[1]: Leaving directory `/data/git/u-boot-fdt/cpu/mpc83xx'
make: *** [cpu/mpc83xx/libmpc83xx.a] Error 2

Kim

#4 lore raw

PATCH 1/3 Fix errors when CONFIG_OF_LIBFDT is enabled

Quoted 35 lines · Kim Phillips
Quoted 4 lines · On Tue, 29 May 2007 22:24:49 -0400 Jerry Van Baren <[email protected]> wrote:
Quoted 3 lines · Kim Phillips

On Sat, 26 May 2007 08:50:58 -0400
Jerry Van Baren <[email protected]> wrote:

<snip>

Quoted 8 lines
Quoted 4 lines

Review static const struct {

Quoted 2 lines
(quoted diff) +0 -0
 	},
@@ -437,20 +456,20 @@ static const struct {

you missed the TSEC entries here (there are unterminated strings there!).

TSEC entries weren't in the code when I wrote this. Now they are and need to be added. :-/

I don't see any unterminated strings (and it compiles for me). Pasting

that's odd - my compiler sees them and errors out on them:

cpu.c:438: error: missing terminating " character cpu.c:439: error: syntax error before string constant cpu.c:441: warning: initialization from incompatible pointer type cpu.c:442: error: missing terminating " character cpu.c:443: error: syntax error before string constant cpu.c:445: warning: initialization from incompatible pointer type cpu.c:448: error: missing terminating " character cpu.c:449: error: syntax error before string constant cpu.c:451: warning: initialization from incompatible pointer type cpu.c:452: error: missing terminating " character cpu.c:453: error: syntax error before string constant cpu.c:455: warning: initialization from incompatible pointer type make[1]: *** [cpu.o] Error 1
make[1]: Leaving directory `/data/git/u-boot-fdt/cpu/mpc83xx'
make: *** [cpu/mpc83xx/libmpc83xx.a] Error 2

Quoted 1 line

Kim

Ahh, found it, will fix it. Thank you.

gvb