[SPARC64]: Handle PCI bridges without 'ranges' property.
authorDavid S. Miller <davem@sunset.davemloft.net>
Fri, 8 Jun 2007 04:59:44 +0000 (21:59 -0700)
committerDavid S. Miller <davem@sunset.davemloft.net>
Fri, 8 Jun 2007 04:59:44 +0000 (21:59 -0700)
commit8c2786cfa6d15c474ec7030e8161c88e9b5c597d
tree403d0c6a52361717a54d3dbaa15d6db87f3627e5
parentea1ff19ce0146a3982a6ded4274122e6d0a91bed
[SPARC64]: Handle PCI bridges without 'ranges' property.

This fixes the IDE controller not showing up on Netra-T1
systems.

Just like Simba bridges, some PCI bridges can lack the
'ranges' OBP property.  So we handle this similarly to
the existing Simba code:

1) In of_device register address resolving, we push the
   translation to the parent.

2) In PCI device scanning, we interrogate the PCI config
   space registers of the PCI bus device in order to resolve
   the resources, just like the generic Linux PCI probing
   code does.

With much help and testing from Fabio, who also reported
the initial problem.

Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Fabio Massimo Di Nitto <fabbione@ubuntu.com>
arch/sparc64/kernel/of_device.c
arch/sparc64/kernel/pci.c