Myles,
Should the domain functions run before the device functions? It looks like the device functions run before the domain but I would expect it to be the other way. This is a problem for Geode LX. It has the VSA and graphics memory init in the domain phase2_fixup but it is running after the 5536 devices run phase2_fixup and is a problem.
statictree: http://pastebin.ca/1301081 .next = &dev_domain_0 - is the link from the last pci device in the domain to the domain device.
serial output: http://pastebin.ca/1301072
Marc