[SPARC64]: Fix central/FHC bus handling on Ex000 systems.
authorDavid S. Miller <davem@sunset.davemloft.net>
Thu, 26 Oct 2006 05:31:06 +0000 (22:31 -0700)
committerDavid S. Miller <davem@sunset.davemloft.net>
Thu, 26 Oct 2006 05:39:15 +0000 (22:39 -0700)
commit4130a4b206e7c628482aa12ec30949382c8cdc5e
treebae99205682ec6db943fc8271dddc980646254d8
parent291b58d663862c3d42d2e8092f8b0dd3f15a94f8
[SPARC64]: Fix central/FHC bus handling on Ex000 systems.

1) probe_other_fhcs() wants to see only non-central FHC
   busses, so skip FHCs that don't sit off the root

2) Like SBUS, FHC can lack the appropriate address and
   size cell count properties, so add an of_busses[]
   entry and handlers for that.

3) Central FHC irq translator probing was buggy.  We
   were trying to use dp->child in irq_trans_init but
   that linkage is not setup at this point.

   So instead, pass in the parent of "dp" and look for
   the child "fhc" with parent "central".

Thanks to the tireless assistence of Ben Collins in tracking
down these problems and testing out these fixes.

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