so let's do this. Use the new v2 device tree visualizer on serengeti and see how it looks.
The evolution of v2 device tree turned into a mess when the acpi and domain stuff came in. i did the best I could with moving the code over and trying to untangle it but obviously I did not do enough. At the same time, I was trying very hard not to break v2 behaviour, since v2 behaviour is "tricky", but tricky for very good reasons -- it is working with lots of weird hardware.
"There is only one link on this device, and it is always link 0."-- that comment may have been introduced by me as I tried to puzzle through the v2 device tree code. I am not sure. It is not there in v2.
Given the fragility of the device tree code I'd say be very careful about big changes. Lots of people have broken the device tree code in the past with trivial changes. Stefan was right, my ACK was probably a mistake.
This fragility is a reflection of how difficult device enumeration on PCs is. There are lots of bugs and corner cases to cover in the hardware, and it makes it hard to get it just right. Further, as mentioned, the evolution of hardware had major impact on the code over the last 8 years.
I will review this discussion and try to understand the implications again.
I would suggest our first step is a v3 tree visualizer like the one in v2. This can be done with a mod to dtc. I think better understanding should precede any further device code patches. It is clear from this discussion that we need to know more, and that even core developers don't always know all the complications.
ron