Skip to contentSkip to conversation

arm/fsl-ls: Add CONFIG_OF_STDOUT_VIA_ALIAS

PATCH New Scott Wood 3 participants 15 messages Sep 1, 2015 – Oct 30, 2015

lore
Share & tools
lore

Scott Wood

author
#0 lore raw

PATCH 1/2 arm/fsl-ls: Add CONFIG_OF_STDOUT_VIA_ALIAS

This will allow OF-based earlycon to be used once the appropriate aliases are added to the device tree and kernel support is fixed.

---
 include/configs/ls1021aqds.h     | 1 +
 include/configs/ls1021atwr.h     | 1 +
 include/configs/ls2085a_common.h | 1 +
 3 files changed, 3 insertions(+)
include/configs/ls1021aqds.h +1 -0
index dfaffa1..a7d12b8 100644
@@ -654,6 +654,7 @@ unsigned long get_board_ddr_clk(void);
 
 #define CONFIG_OF_LIBFDT
 #define CONFIG_OF_BOARD_SETUP
+#define CONFIG_OF_STDOUT_VIA_ALIAS
 #define CONFIG_CMD_BOOTZ
 
 #define CONFIG_MISC_INIT_R
include/configs/ls1021atwr.h +1 -0
index 3299a9f..f318162 100644
@@ -496,6 +496,7 @@
 
 #define CONFIG_OF_LIBFDT
 #define CONFIG_OF_BOARD_SETUP
+#define CONFIG_OF_STDOUT_VIA_ALIAS
 #define CONFIG_CMD_BOOTZ
 
 #define CONFIG_MISC_INIT_R
include/configs/ls2085a_common.h +1 -0
index 39fb464..96abb92 100644
@@ -47,6 +47,7 @@
 /* Flat Device Tree Definitions */
 #define CONFIG_OF_LIBFDT
 #define CONFIG_OF_BOARD_SETUP
+#define CONFIG_OF_STDOUT_VIA_ALIAS
 
 /* new uImage format support */
 #define CONFIG_FIT
Signature · 1 line
2.1.4
author
#1 lore raw

PATCH 2/2 fdt_support: Don't panic if unable to perform stdout fixup

Currently, using fdt_fixup_stdout() on a device tree that is missing the relevant alias results in this:

WARNING: could not set linux,stdout-path FDT_ERR_NOTFOUND.
ERROR: /chosen node create failed
- must RESET the board to recover.

FDT creation failed! hanging...### ERROR ### Please RESET the board ###

There is no reason for this to be a fatal error rather than a warning, and removing this allows for a smooth transition on a platform where the device tree currently lacks the correct aliases but will have them in the future.

Cc Kumar Gala <[email protected]>
Cc Simon Glass <[email protected]>
---
 common/fdt_support.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
common/fdt_support.c +2 -1
index f86365e..6052c77 100644
@@ -308,7 +308,8 @@ int fdt_chosen(void *fdt)
 		}
 	}
 
-	return fdt_fixup_stdout(fdt, nodeoffset);
+	fdt_fixup_stdout(fdt, nodeoffset);
+	return 0;
 }
 
 void do_fixup_by_path(void *fdt, const char *path, const char *prop,
Signature · 1 line
2.1.4
author
#2 lore raw

PATCH 2/2 fdt_support: Don't panic if unable to perform stdout fixup

In reply to Scott Wood

Currently, using fdt_fixup_stdout() on a device tree that is missing the relevant alias results in this:

WARNING: could not set linux,stdout-path FDT_ERR_NOTFOUND.
ERROR: /chosen node create failed
- must RESET the board to recover.

FDT creation failed! hanging...### ERROR ### Please RESET the board ###

There is no reason for this to be a fatal error rather than a warning, and removing this allows for a smooth transition on a platform where the device tree currently lacks the correct aliases but will have them in the future.

Cc Kumar Gala <[email protected]>
Cc Simon Glass <[email protected]>

---
Resent with correct address for Simon Glass.

 common/fdt_support.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
common/fdt_support.c +2 -1
index f86365e..6052c77 100644
@@ -308,7 +308,8 @@ int fdt_chosen(void *fdt)
 		}
 	}
 
-	return fdt_fixup_stdout(fdt, nodeoffset);
+	fdt_fixup_stdout(fdt, nodeoffset);
+	return 0;
 }
 
 void do_fixup_by_path(void *fdt, const char *path, const char *prop,
Signature · 1 line
2.1.4
#3 lore raw

PATCH 2/2 fdt_support: Don't panic if unable to perform stdout fixup

Hi Scott,

Quoted 7 lines · Scott Wood

Currently, using fdt_fixup_stdout() on a device tree that is missing the relevant alias results in this:

WARNING: could not set linux,stdout-path FDT_ERR_NOTFOUND.
ERROR: /chosen node create failed
- must RESET the board to recover.

Quoted 6 lines

FDT creation failed! hanging...### ERROR ### Please RESET the board ###

There is no reason for this to be a fatal error rather than a warning, and removing this allows for a smooth transition on a platform where the device tree currently lacks the correct aliases but will have them in the future.

Why do we need this patch - what platform?

Quoted 15 lines
Cc Kumar Gala <[email protected]>
Cc Simon Glass <[email protected]>

---
Resent with correct address for Simon Glass.

 common/fdt_support.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
common/fdt_support.c +0 -0
index f86365e..6052c77 100644

common/fdt_support.c int fdt_chosen(void *fdt) · line 311

Quoted 5 lines
common/fdt_support.c +1 -1
@@ -308,7 +308,8 @@ int fdt_chosen(void *fdt)
                }
        }
 
-       return fdt_fixup_stdout(fdt, nodeoffset);
+       fdt_fixup_stdout(fdt, nodeoffset);

Will some platforms will not boot correctly with this failing? Should we make your new feature a Kconfig options perhaps? I worry that it will become the default behaviour and then it will be hard to remove later.

Quoted 7 lines
common/fdt_support.c +1 -1
+       return 0;
 }
 
 void do_fixup_by_path(void *fdt, const char *path, const char *prop,
--

2.1.4

Regards,
Simon

author
#4 lore raw

PATCH 2/2 fdt_support: Don't panic if unable to perform stdout fixup

Quoted 10 lines · Simon Glass

Hi Scott,

Quoted 7 lines · Scott Wood

Currently, using fdt_fixup_stdout() on a device tree that is missing the relevant alias results in this:

WARNING: could not set linux,stdout-path FDT_ERR_NOTFOUND.
ERROR: /chosen node create failed
- must RESET the board to recover.

Quoted 8 lines
Quoted 6 lines

FDT creation failed! hanging...### ERROR ### Please RESET the board ###

There is no reason for this to be a fatal error rather than a warning, and removing this allows for a smooth transition on a platform where the device tree currently lacks the correct aliases but will have them in the future.

Why do we need this patch - what platform?

LS2085A

Quoted 19 lines
Quoted 19 lines
Cc Kumar Gala <[email protected]>
Cc Simon Glass <[email protected]>

---
Resent with correct address for Simon Glass.

 common/fdt_support.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
common/fdt_support.c +0 -0
index f86365e..6052c77 100644
@@ -308,7 +308,8 @@ int fdt_chosen(void *fdt)
                }
        }
 
Quoted 7 lines

common/fdt_support.c int fdt_chosen(void *fdt) · line 311

Quoted 2 lines
common/fdt_support.c +1 -1
-       return fdt_fixup_stdout(fdt, nodeoffset);
+       fdt_fixup_stdout(fdt, nodeoffset);

Will some platforms will not boot correctly with this failing? Should we make your new feature a Kconfig options perhaps? I worry that it will become the default behaviour and then it will be hard to remove later.

A warning will still be printed. I'm not sure how "### ERROR ### Please RESET the board ###" is more useful than trying to continue and possibly failing.

-Scott

#5 lore raw

PATCH 2/2 fdt_support: Don't panic if unable to perform stdout fixup

Hi Scott,

Quoted 49 lines · Scott Wood
Quoted 10 lines · Simon Glass

Hi Scott,

Quoted 7 lines · Scott Wood

Currently, using fdt_fixup_stdout() on a device tree that is missing the relevant alias results in this:

WARNING: could not set linux,stdout-path FDT_ERR_NOTFOUND.
ERROR: /chosen node create failed
- must RESET the board to recover.

Quoted 8 lines
Quoted 6 lines

FDT creation failed! hanging...### ERROR ### Please RESET the board ###

There is no reason for this to be a fatal error rather than a warning, and removing this allows for a smooth transition on a platform where the device tree currently lacks the correct aliases but will have them in the future.

Why do we need this patch - what platform?

LS2085A

Quoted 19 lines
Quoted 19 lines
Cc Kumar Gala <[email protected]>
Cc Simon Glass <[email protected]>

---
Resent with correct address for Simon Glass.

 common/fdt_support.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
common/fdt_support.c +0 -0
index f86365e..6052c77 100644
@@ -308,7 +308,8 @@ int fdt_chosen(void *fdt)
                }
        }
 
Quoted 7 lines

common/fdt_support.c int fdt_chosen(void *fdt) · line 311

Quoted 2 lines
common/fdt_support.c +1 -1
-       return fdt_fixup_stdout(fdt, nodeoffset);
+       fdt_fixup_stdout(fdt, nodeoffset);

Will some platforms will not boot correctly with this failing? Should we make your new feature a Kconfig options perhaps? I worry that it will become the default behaviour and then it will be hard to remove later.

Quoted 3 lines

A warning will still be printed. I'm not sure how "### ERROR ### Please RESET the board ###" is more useful than trying to continue and possibly failing.

Only that if it indicates a fatal error the board code can at least find out about it and deal with it. Perhaps booting will just result in a hang?

I think ignoring errors is fine but here we make it impossible to detect a failure. So I think that a Kconfig is the best idea, so we can remove it later.

Regards,
Simon

author
#6 lore raw

PATCH 2/2 fdt_support: Don't panic if unable to perform stdout fixup

Quoted 53 lines · Simon Glass

Hi Scott,

Quoted 50 lines · Scott Wood
Quoted 13 lines · Simon Glass

Hi Scott,

Quoted 10 lines · Scott Wood

Currently, using fdt_fixup_stdout() on a device tree that is missing the relevant alias results in this:

WARNING: could not set linux,stdout-path FDT_ERR_NOTFOUND.
ERROR: /chosen node create failed
- must RESET the board to recover.

FDT creation failed! hanging...### ERROR ### Please RESET the board
###

Quoted 6 lines
Quoted 4 lines

There is no reason for this to be a fatal error rather than a warning, and removing this allows for a smooth transition on a platform where the device tree currently lacks the correct aliases but will have them in the future.

Why do we need this patch - what platform?

LS2085A

Quoted 26 lines
Quoted 16 lines
Cc Kumar Gala <[email protected]>
Cc Simon Glass <[email protected]>

---
Resent with correct address for Simon Glass.

 common/fdt_support.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
common/fdt_support.c +0 -0
index f86365e..6052c77 100644

common/fdt_support.c int fdt_chosen(void *fdt) · line 311

Quoted 5 lines
common/fdt_support.c +1 -1
@@ -308,7 +308,8 @@ int fdt_chosen(void *fdt)
                }
        }
 
-       return fdt_fixup_stdout(fdt, nodeoffset);
+       fdt_fixup_stdout(fdt, nodeoffset);

Will some platforms will not boot correctly with this failing? Should we make your new feature a Kconfig options perhaps? I worry that it will become the default behaviour and then it will be hard to remove later.

Quoted 7 lines
Quoted 3 lines

A warning will still be printed. I'm not sure how "### ERROR ### Please RESET the board ###" is more useful than trying to continue and possibly failing.

Only that if it indicates a fatal error the board code can at least find out about it and deal with it. Perhaps booting will just result in a hang?

If booting results in a hang, then you're no worse off than the current

situation. Either way, the user sees a message that indicates the problem.

Quoted 3 lines

I think ignoring errors is fine but here we make it impossible to detect a failure. So I think that a Kconfig is the best idea, so we can remove it later.

It seems excessive... Config options aren't free, from a maintenance

perspective, and I have a hard time imagining a scenario where proceeding to

boot causes a real problem.

Also, from a consistency perspective:
- The OF_STDOUT_PATH version doesn't cause a panic if the destination path
doesn't exist.
- None of the callers of fdt_status_<foo>_by_alias() panic if the alias is
not found.
- do_fixup_by_path() doesn't panic if the node is not found.
- Neither does do_fixup_by_compatible().
- Neither does fdt_fixup_ethernet().

-Scott

#7 lore raw

PATCH 2/2 fdt_support: Don't panic if unable to perform stdout fixup

Hi Scott,

Quoted 76 lines · Scott Wood
Quoted 53 lines · Simon Glass

Hi Scott,

Quoted 50 lines · Scott Wood
Quoted 13 lines · Simon Glass

Hi Scott,

Quoted 10 lines · Scott Wood

Currently, using fdt_fixup_stdout() on a device tree that is missing the relevant alias results in this:

WARNING: could not set linux,stdout-path FDT_ERR_NOTFOUND.
ERROR: /chosen node create failed
- must RESET the board to recover.

FDT creation failed! hanging...### ERROR ### Please RESET the board
###

Quoted 6 lines
Quoted 4 lines

There is no reason for this to be a fatal error rather than a warning, and removing this allows for a smooth transition on a platform where the device tree currently lacks the correct aliases but will have them in the future.

Why do we need this patch - what platform?

LS2085A

Quoted 26 lines
Quoted 16 lines
Cc Kumar Gala <[email protected]>
Cc Simon Glass <[email protected]>

---
Resent with correct address for Simon Glass.

 common/fdt_support.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
common/fdt_support.c +0 -0
index f86365e..6052c77 100644

common/fdt_support.c int fdt_chosen(void *fdt) · line 311

Quoted 5 lines
common/fdt_support.c +1 -1
@@ -308,7 +308,8 @@ int fdt_chosen(void *fdt)
                }
        }
 
-       return fdt_fixup_stdout(fdt, nodeoffset);
+       fdt_fixup_stdout(fdt, nodeoffset);

Will some platforms will not boot correctly with this failing? Should we make your new feature a Kconfig options perhaps? I worry that it will become the default behaviour and then it will be hard to remove later.

Quoted 7 lines
Quoted 3 lines

A warning will still be printed. I'm not sure how "### ERROR ### Please RESET the board ###" is more useful than trying to continue and possibly failing.

Only that if it indicates a fatal error the board code can at least find out about it and deal with it. Perhaps booting will just result in a hang?

If booting results in a hang, then you're no worse off than the current

situation. Either way, the user sees a message that indicates the problem.

Quoted 3 lines

I think ignoring errors is fine but here we make it impossible to detect a failure. So I think that a Kconfig is the best idea, so we can remove it later.

It seems excessive... Config options aren't free, from a maintenance

perspective, and I have a hard time imagining a scenario where proceeding to

boot causes a real problem.

Quoted 8 lines

Also, from a consistency perspective:
- The OF_STDOUT_PATH version doesn't cause a panic if the destination path
doesn't exist.
- None of the callers of fdt_status_<foo>_by_alias() panic if the alias is
not found.
- do_fixup_by_path() doesn't panic if the node is not found.
- Neither does do_fixup_by_compatible().
- Neither does fdt_fixup_ethernet().

Yes this code needs cleaning up.

The particular problem you have is that there are no aliases, right? How about returning 0 from fdt_fixup_stdout() in that case? Then you will not affect the behaviour of other boards which perhaps do have /aliases but do not have space in their tree for the fdt_setprop().

Regards,
Simon

author
#8 lore raw

PATCH 2/2 fdt_support: Don't panic if unable to perform stdout fixup

Quoted 101 lines · Simon Glass

Hi Scott,

Quoted 87 lines · Scott Wood
Quoted 66 lines · Simon Glass

Hi Scott,

Quoted 57 lines · Scott Wood
Quoted 24 lines · Simon Glass

Hi Scott,

Quoted 12 lines · Scott Wood

Currently, using fdt_fixup_stdout() on a device tree that is missing
the relevant alias results in this:

WARNING: could not set linux,stdout-path FDT_ERR_NOTFOUND.
ERROR: /chosen node create failed
- must RESET the board to recover.

FDT creation failed! hanging...### ERROR ### Please RESET the board
###

Quoted 7 lines

There is no reason for this to be a fatal error rather than a warning,
and removing this allows for a smooth transition on a platform where
the device tree currently lacks the correct aliases but will have them
in the future.

Quoted 1 line

Why do we need this patch - what platform?

LS2085A

Quoted 19 lines
Quoted 19 lines
Cc Kumar Gala <[email protected]>
Cc Simon Glass <[email protected]>

---
Resent with correct address for Simon Glass.

 common/fdt_support.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
common/fdt_support.c +0 -0
index f86365e..6052c77 100644
@@ -308,7 +308,8 @@ int fdt_chosen(void *fdt)
                }
        }
 
Quoted 8 lines

common/fdt_support.c int fdt_chosen(void *fdt) · line 311

Quoted 2 lines
common/fdt_support.c +1 -1
-       return fdt_fixup_stdout(fdt, nodeoffset);
+       fdt_fixup_stdout(fdt, nodeoffset);

Will some platforms will not boot correctly with this failing? Should
we make your new feature a Kconfig options perhaps? I worry that it will become the default behaviour and then it will be hard to remove later.

Quoted 5 lines

A warning will still be printed. I'm not sure how "### ERROR ### Please
RESET the board ###" is more useful than trying to continue and possibly
failing.

Quoted 3 lines

Only that if it indicates a fatal error the board code can at least find out about it and deal with it. Perhaps booting will just result in a hang?

If booting results in a hang, then you're no worse off than the current

situation. Either way, the user sees a message that indicates the problem.

Quoted 3 lines

I think ignoring errors is fine but here we make it impossible to detect a failure. So I think that a Kconfig is the best idea, so we can remove it later.

It seems excessive... Config options aren't free, from a maintenance

perspective, and I have a hard time imagining a scenario where proceeding to

boot causes a real problem.

Quoted 10 lines

Also, from a consistency perspective:
- The OF_STDOUT_PATH version doesn't cause a panic if the destination
path
doesn't exist.
- None of the callers of fdt_status_<foo>_by_alias() panic if the alias
is
not found.
- do_fixup_by_path() doesn't panic if the node is not found.
- Neither does do_fixup_by_compatible().
- Neither does fdt_fixup_ethernet().

Quoted 1 line

Yes this code needs cleaning up.

I wasn't citing them as problems. :-P

Quoted 4 lines

The particular problem you have is that there are no aliases, right? How about returning 0 from fdt_fixup_stdout() in that case? Then you will not affect the behaviour of other boards which perhaps do have /aliases but do not have space in their tree for the fdt_setprop().

That would be fine.

-Scott

#9 lore raw

PATCH 2/2 fdt_support: Don't panic if unable to perform stdout fixup

In reply to Simon Glass
Quoted 56 lines · Simon Glass

Hi Scott,

Quoted 49 lines · Scott Wood
Quoted 10 lines · Simon Glass

Hi Scott,

Quoted 7 lines · Scott Wood

Currently, using fdt_fixup_stdout() on a device tree that is missing the relevant alias results in this:

WARNING: could not set linux,stdout-path FDT_ERR_NOTFOUND.
ERROR: /chosen node create failed
- must RESET the board to recover.

Quoted 8 lines
Quoted 6 lines

FDT creation failed! hanging...### ERROR ### Please RESET the board ###

There is no reason for this to be a fatal error rather than a warning, and removing this allows for a smooth transition on a platform where the device tree currently lacks the correct aliases but will have them in the future.

Why do we need this patch - what platform?

LS2085A

Quoted 19 lines
Quoted 19 lines
Cc Kumar Gala <[email protected]>
Cc Simon Glass <[email protected]>

---
Resent with correct address for Simon Glass.

 common/fdt_support.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
common/fdt_support.c +0 -0
index f86365e..6052c77 100644
@@ -308,7 +308,8 @@ int fdt_chosen(void *fdt)
                }
        }
 
Quoted 7 lines

common/fdt_support.c int fdt_chosen(void *fdt) · line 311

Quoted 2 lines
common/fdt_support.c +1 -1
-       return fdt_fixup_stdout(fdt, nodeoffset);
+       fdt_fixup_stdout(fdt, nodeoffset);

Will some platforms will not boot correctly with this failing? Should we make your new feature a Kconfig options perhaps? I worry that it will become the default behaviour and then it will be hard to remove later.

Quoted 3 lines

A warning will still be printed. I'm not sure how "### ERROR ### Please RESET the board ###" is more useful than trying to continue and possibly failing.

Quoted 7 lines

Only that if it indicates a fatal error the board code can at least find out about it and deal with it. Perhaps booting will just result in a hang?

I think ignoring errors is fine but here we make it impossible to detect a failure. So I think that a Kconfig is the best idea, so we can remove it later.

How about a big warning instead? In general, having the message to reset the board doesn't help much if it is a fatal condition. We have to use external tool to recover the board. On the other side, if the error is not fatal, continue to boot may give the user a chance to reflash an update.

York

author
#10 lore raw

PATCH 2/2 fdt_support: Don't panic if unable to perform stdout fixup

Quoted 65 lines · York Sun
Quoted 64 lines · Simon Glass

Hi Scott,

Quoted 53 lines · Scott Wood
Quoted 14 lines · Simon Glass

Hi Scott,

Quoted 10 lines · Scott Wood

Currently, using fdt_fixup_stdout() on a device tree that is missing the relevant alias results in this:

WARNING: could not set linux,stdout-path FDT_ERR_NOTFOUND.
ERROR: /chosen node create failed
- must RESET the board to recover.

FDT creation failed! hanging...### ERROR ### Please RESET the board
###

Quoted 8 lines
Quoted 6 lines

There is no reason for this to be a fatal error rather than a warning,
and removing this allows for a smooth transition on a platform where the device tree currently lacks the correct aliases but will have them
in the future.

Why do we need this patch - what platform?

LS2085A

Quoted 19 lines
Quoted 19 lines
Cc Kumar Gala <[email protected]>
Cc Simon Glass <[email protected]>

---
Resent with correct address for Simon Glass.

 common/fdt_support.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
common/fdt_support.c +0 -0
index f86365e..6052c77 100644
@@ -308,7 +308,8 @@ int fdt_chosen(void *fdt)
                }
        }
 
Quoted 7 lines

common/fdt_support.c int fdt_chosen(void *fdt) · line 311

Quoted 2 lines
common/fdt_support.c +1 -1
-       return fdt_fixup_stdout(fdt, nodeoffset);
+       fdt_fixup_stdout(fdt, nodeoffset);

Will some platforms will not boot correctly with this failing? Should we make your new feature a Kconfig options perhaps? I worry that it will become the default behaviour and then it will be hard to remove later.

Quoted 3 lines

A warning will still be printed. I'm not sure how "### ERROR ### Please RESET the board ###" is more useful than trying to continue and possibly failing.

Only that if it indicates a fatal error the board code can at least find out about it and deal with it. Perhaps booting will just result in a hang?

Quoted 5 lines
Quoted 3 lines

I think ignoring errors is fine but here we make it impossible to detect a failure. So I think that a Kconfig is the best idea, so we can remove it later.

How about a big warning instead?

There is still a warning with this patch applied.

Quoted 6 lines

In general, having the message to reset the
board doesn't help much if it is a fatal condition. We have to use external tool
to recover the board.
On the other side, if the error is not fatal, continue to
boot may give the user a chance to reflash an update.

That doesn't really apply to errors that happen when loading a kernel...

-Scott

author
#11 lore raw

PATCH v2 2/2 fdt_support: Don't panic if stdout alias is missing

In reply to Scott Wood

Currently, using fdt_fixup_stdout() on a device tree that is missing the relevant alias results in this:

WARNING: could not set linux,stdout-path FDT_ERR_NOTFOUND.
ERROR: /chosen node create failed
- must RESET the board to recover.

FDT creation failed! hanging...### ERROR ### Please RESET the board ###

There is no reason for this to be a fatal error rather than a warning, and removing this allows for a smooth transition on a platform where the device tree currently lacks the correct aliases but will have them in the future.

Cc Kumar Gala <[email protected]>
Cc Simon Glass <[email protected]>

---
v2: Only continue booting if the problem was a missing alias, not the inability to write to the device tree.

---
 common/fdt_support.c | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)
common/fdt_support.c +8 -3
index f86365e..a7ff2df 100644
@@ -158,25 +158,30 @@ static int fdt_fixup_stdout(void *fdt, int chosenoff)
 	aliasoff = fdt_path_offset(fdt, "/aliases");
 	if (aliasoff < 0) {
 		err = aliasoff;
-		goto error;
+		goto noalias;
 	}
 
 	path = fdt_getprop(fdt, aliasoff, sername, &len);
 	if (!path) {
 		err = len;
-		goto error;
+		goto noalias;
 	}
 
 	/* fdt_setprop may break "path" so we copy it to tmp buffer */
 	memcpy(tmp, path, len);
 
 	err = fdt_setprop(fdt, chosenoff, "linux,stdout-path", tmp, len);
-error:
 	if (err < 0)
 		printf("WARNING: could not set linux,stdout-path %s.\n",
 		       fdt_strerror(err));
 
 	return err;
+
+noalias:
+	printf("WARNING: %s: could not read %s alias: %s\n",
+	       __func__, sername, fdt_strerror(err));
+
+	return 0;
 }
 #else
 static int fdt_fixup_stdout(void *fdt, int chosenoff)
Signature · 1 line
2.1.4
#12 lore raw

PATCH v2 2/2 fdt_support: Don't panic if stdout alias is missing

Quoted 17 lines · Scott Wood

Currently, using fdt_fixup_stdout() on a device tree that is missing the relevant alias results in this:

WARNING: could not set linux,stdout-path FDT_ERR_NOTFOUND.
ERROR: /chosen node create failed
- must RESET the board to recover.

FDT creation failed! hanging...### ERROR ### Please RESET the board ###

There is no reason for this to be a fatal error rather than a warning, and removing this allows for a smooth transition on a platform where the device tree currently lacks the correct aliases but will have them in the future.

Cc Kumar Gala <[email protected]>
Cc Simon Glass <[email protected]>
Quoted 6 lines

---
v2: Only continue booting if the problem was a missing alias, not the inability to write to the device tree.

---
 common/fdt_support.c | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)
#13 lore raw

PATCH v2 2/2 fdt_support: Don't panic if stdout alias is missing

In reply to Scott Wood
Quoted 17 lines · Scott Wood

Currently, using fdt_fixup_stdout() on a device tree that is missing the relevant alias results in this:

WARNING: could not set linux,stdout-path FDT_ERR_NOTFOUND.
ERROR: /chosen node create failed
- must RESET the board to recover.

FDT creation failed! hanging...### ERROR ### Please RESET the board ###

There is no reason for this to be a fatal error rather than a warning, and removing this allows for a smooth transition on a platform where the device tree currently lacks the correct aliases but will have them in the future.

Cc Kumar Gala <[email protected]>
Cc Simon Glass <[email protected]>
Quoted 7 lines

---
v2: Only continue booting if the problem was a missing alias, not the inability to write to the device tree.

---
 common/fdt_support.c | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

Applied to u-boot-fsl-qoriq. Awaiting upstream. Thanks.

York

#14 lore raw

PATCH 1/2 arm/fsl-ls: Add CONFIG_OF_STDOUT_VIA_ALIAS

In reply to Scott Wood
Quoted 5 lines · Scott Wood

This will allow OF-based earlycon to be used once the appropriate aliases are added to the device tree and kernel support is fixed.

---

Applied to u-boot-fsl-qoriq. Awaiting upstream. Thanks.

York