
Hi Bin,
On Mon, 18 Nov 2019 at 09:12, Bin Meng bmeng.cn@gmail.com wrote:
With commit f0921f5098d8 ("fdt: Sync up to the latest libfdt"), SiFive Unleashed board does not boot any more. This was due to the U-Boot local changes commit 77d7fff8cec2 ("fdt: Fix handling of paths with options in them") to libfdt/fdt_ro.c was dropped during the libfdt upgrade.
From the history [1] it was mentioned that the U-Boot changes commit 77d7fff8cec2 ("fdt: Fix handling of paths with options in them") was rejected by libfdt upstream, hence we need find another way to fix the things.
This commit uses another method, by updating serial_check_stdout() directly to handle the situation of "stdout-path" with ":options". A simpler way is to change the logic in fdtdec_get_chosen_node() to do similar thing, but I feel that not every property in chosen node may have the option in them, hence it would make more sense to do the special handling in serial_check_stdout() directly.
Signed-off-by: Bin Meng bmeng.cn@gmail.com
drivers/serial/serial-uclass.c | 36 ++++++++++++++++++++---------------- 1 file changed, 20 insertions(+), 16 deletions(-)
Reviewed-by: Simon Glass sjg@chromium.org
Would it be possible to export serial_check_stdout() so we can add tests? Or perhaps we should have tests for all of serial_find_console_or_panic() since it is getting more and more complicated and is not documented well.
Regards, Simon