[SPARC64]: Fix more of_device layer IRQ bugs, and correct PROMREG_MAX.
authorDavid S. Miller <davem@sunset.davemloft.net>
Mon, 17 Jul 2006 05:10:44 +0000 (22:10 -0700)
committerDavid S. Miller <davem@sunset.davemloft.net>
Fri, 21 Jul 2006 21:17:52 +0000 (14:17 -0700)
commit46ba6d7d8b0486e9d565729880ddfb2b84d3af31
tree53f6eb1eb20d9adb45af5a78b440ae7ae3257990
parent00ab956f2fefd3673edc16df55beed21834b7bdd
[SPARC64]: Fix more of_device layer IRQ bugs, and correct PROMREG_MAX.

Sabre and Psycho PCI controllers can have partial interrupt-map
properties, meaning that on-board devices don't match up to any
entries.  Instead, they are fully specified from the beginning and
we should pass them directly to the IRQ translator as-is.

Also, fill in the necessary translator slots for the "graphics"
and "expansion UPA" interrupts on Sabre, Psycho, and SYSIO SBUS.

Increase PROMREG_MAX to 24, as seen on SUNW,ffb devices.

Finally, prevent accidentally writing past the end of the of_device
struct resource[] and irqs[] arrays.  Spit out a log message when
we ignore some entries because there are too many of them.

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