As I said above, I don't think bus code can do it. Take my example above of a tulip pci device on x86 and a tulip pci device on ARM. Both use the same PCI code.
Maybe something in asm/pci.h - but that invites having lots of bus specific header files in asm/.
A better solution imho would be to have an architecture callback for struct device which gets registered, which can inspect the type of the device, and set the flag depending on where it appears in the tree.
Now -that's gross :-)
For PCI you can have the flag propagate from the PHB down, for busses without a bus type (platform) then whoever instanciate them (the platform code) can set that appropriately.
Ben.