
On 08/13/2018 04:07 AM, Bin Meng wrote:
[...]
Sorry this is terribly wrong. Imagine someone writes another OS, and all he has is the device tree spec. He follows the spec and writes some codes to parse a valid DT, and it's done. How his OS makes use of the DT is his design decision and none of the device tree specs has hard requiement on it. Of course, using exact the same DT as Linux is nice-to-have feature but that's not the reason to attack has OS has bugs to parse DT.
There is supposed to be only one DT for all the OSes, which has nothing to do with Linux or U-Boot or any of those. If some OS cannot parse an valid DT completely, then it's lacking.
I really don't understand such obsessiveness.
I can say the same thing, I don't understand why you're trying so hard to protect the lacking PCI DT parsing code in U-Boot. That is the part which needs to be fixed.
Currently there is NO ALL OSes. There is ONLY Linux.
Er, no. You forgot all the BSDs, SunOS and possibly a few others I forgot.
In fact, I didn't. I compared many dts files in BSD source codes against the dts files in Linux tree (with the same name, for the same board), and they _are_ unsurprisingly different. Some of nodes indeed have "compatible" string while the other one does not, which reveals the truth that what you kept saying all OSes should use exactly the same DT is purely wrong. You are too Linux-centric.
Contradiction (!truth) implies anything, that's logic 101.
What you kept talking about is the reference implementation from Linux. You need convince me adding a compatible string to the USB node makes the DT invalid. If you admit adding "compatible" is perfectly OK, then per your theory Linux should handle it without any problems.
I think I lost you here. I won't pollute this thread with even more crap. USB is a probable bus, just like PCI, you don't need compatible strings there either.
Didn't you see the "PCI Bus Binding" spec? It's a spec existing for years.
Next step is to upstream the DT changes to Linux kernel, then sync the changes to U-Boot to satisfy this obsession - using exactly the same DT as Linux.
This is not gonna happen.
Sorry, you're really just wasting my time with this foolishness. If U-Boot cannot parse valid DT bindings while other OSes can, U-Boot is broken and must be fixed. So far I only see you attacking this patch and trying to pull in everything you can do avoid accepting this patch or providing a better alternative. This is not a constructive discussion, so I stop here.
The fix in this patch is purely hack, period.
So while you're constantly yelling "hack" "hack" here, I don't see any constructive feedback. Can you provide any ?