powerpc/8xx: Fix NR_IRQ bugs and refactor 8xx interrupt controller
authorGrant Likely <grant.likely@secretlab.ca>
Mon, 23 Apr 2012 12:30:01 +0000 (12:30 +0000)
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>
Mon, 30 Apr 2012 00:45:25 +0000 (10:45 +1000)
commit8751ed14dcdd692733072966bf97b6b8c21ccaad
tree53d904908b1072b335e4020fe12ffe2ad647e67a
parent69964ea4c7b68c9399f7977aa5b9aa6539a6a98a
powerpc/8xx: Fix NR_IRQ bugs and refactor 8xx interrupt controller

The mpc8xx driver uses a reference to NR_IRQS that is buggy.  It uses
NR_IRQs for the array size of the ppc_cached_irq_mask bitmap, but
NR_IRQs could be smaller than the number of hardware irqs that
ppc_cached_irq_mask tracks.

Also, while fixing that problem, it became apparent that the interrupt
controller only supports 32 interrupt numbers, but it is written as if
it supports multiple register banks which is more complicated.

This patch pulls out the buggy reference to NR_IRQs and fixes the size
of the ppc_cached_irq_mask to match the number of HW irqs.  It also
drops the now-unnecessary code since ppc_cached_irq_mask is no longer
an array.

Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
arch/powerpc/sysdev/mpc8xx_pic.c