sh: se722: Move FPGA IRQs to irqdomain and generic irq chip.
authorPaul Mundt <lethal@linux-sh.org>
Thu, 24 May 2012 09:24:32 +0000 (18:24 +0900)
committerPaul Mundt <lethal@linux-sh.org>
Thu, 24 May 2012 09:24:32 +0000 (18:24 +0900)
commit5df38b9b7676e4e46c5c13e75f023ffb82542980
treec7a21ff99ec07365dcc3f55de6f09b6261cfdcde
parentb98b35815f40f01337e25e3f0d10d57b7cec5126
sh: se722: Move FPGA IRQs to irqdomain and generic irq chip.

This implements a total rewrite of the rather buggy SE7722 FPGA IRQ code,
utilizing a linear irq domain as well as the generic irq chip type.

While the interaction between the two APIs is a bit clunky (ie, revmap
lookup for gc irq_base), they work well enough together that it's easy
enough to work with going forward.

While we're at it, deal with irq_mask_ack/unmask of the chained IRQ in
the demux handler to prevent smc91x screaming about spurious interrupts.

There's also some more improvement that can be made to the irqdomain code
to create backing irqdescs for the entire linear range in one bang
instead of iterating over the number of hwirqs and doing it
irq-at-a-time. This is easily dealt with at a later point, though.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
arch/sh/boards/Kconfig
arch/sh/boards/mach-se/7722/irq.c
arch/sh/boards/mach-se/7722/setup.c
arch/sh/include/mach-se/mach/se7722.h