sparc64: Fix disappearing PCI devices on e3500.
authorDavid S. Miller <davem@davemloft.net>
Sun, 21 Sep 2008 05:00:40 +0000 (22:00 -0700)
committerDavid S. Miller <davem@davemloft.net>
Sun, 21 Sep 2008 05:00:40 +0000 (22:00 -0700)
commit7ee766d8fba9dfd93bf3eca7a8d84a25404a68dc
tree34b017e2eb3e560c15a41089b894a4125bca7d89
parent9843099ff46467461d6476a827f6f9701682dbac
sparc64: Fix disappearing PCI devices on e3500.

Based upon a bug report by Meelis Roos.

The OF device layer builds properties by matching bus types and
applying 'range' properties as appropriate, up to the root.

The match for "PCI" busses is looking at the 'device_type' property,
and this does work %99 of the time.

But on an E3500 system with a PCI QFE card, the DEC 21153 bridge
sitting above the QFE network interface devices has a 'name' of "pci",
but it completely lacks a 'device_type' property.  So we don't match
it as a PCI bus, and subsequently we end up with no resource values at
all for the devices sitting under that DEC bridge.

Signed-off-by: David S. Miller <davem@davemloft.net>
arch/sparc64/kernel/of_device.c