
Stefan Roese wrote:
Hi Jerry,
Again I (and Wolfgang) stumbled about the problem, that the /chosen node is not overwritten by the bootm command when it already exists. This is really annoying, since we either:
a) Have to remove the chosen node from the dts files (which is not so easy if we try to stay in sync with the kernel.org version)
or
b) Have to manually use the U-Boot "fdt" commands to overwrite the chosen node
I can't remember why this current behavior is implemented this way. Jerry, can't we just overwrite this node even if it already exists? What would we loose by doing this?
Thanks.
Best regards, Stefan
Hi Stefan,
The behavior was to mimic the behavior of the non-LIBFDT original implementation (and because we thought it was a good idea at the time). We originally assumed that the .dts file writer had more/better knowledge of the system than we did (which was true at the time). This was aggravated by the conundrum that the original FDT support didn't do a good job of generating the /chosen properties (some were, some weren't), so the .dts writers /had to/ pre-init some /chosen values. The /aliases node also helped - configuration choices that use to be implicit in the .dts /chosen node are now in /aliases (major improvement!).
I thought we turned on the "force" flag so that the /chosen properties would be overwritten, apparently I'm mistaken.
I'm fine with overwriting the /chosen node and properties. Generate a patch and I'll be happy to ack it.
(Note to self: maybe it is time to retire the "force" flag - it always made me uncomfortable and is confusing. Is there anything left that we *don't* want to force?)
Best regards, gvb