sh: rework intc2 code
authorMagnus Damm <damm@igel.co.jp>
Fri, 15 Jun 2007 01:41:54 +0000 (10:41 +0900)
committerPaul Mundt <lethal@linux-sh.org>
Fri, 15 Jun 2007 01:41:54 +0000 (10:41 +0900)
commitd619500aed2f9b841b2310bc94f8056ae9ca2a73
tree42ca07266afbf0406d419e57dde404ad89cd316d
parentd3efbdd6c5e8c823b732df26a355ec931ccab374
sh: rework intc2 code

The shared intc2 code currently contains cpu-specific #ifdefs.
This is a tad unclean and it prevents us from using the shared code
to drive board-specific irqs on the se7780 board.

This patch reworks the intc2 code by moving the base addresses of
the intc2 registers into struct intc2_desc. This new structure also
contains the name of the controller in struct irq_chip. The idea
behind putting struct irq_chip in there is that we can use offsetof()
to locate the base addresses in the irq_chip callbacks.

One logic change has been made - the original shared intc2 code
enabled the interrupts by default but with this patch they are all
disabled by default.

Signed-off-by: Magnus Damm <damm@igel.co.jp>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
arch/sh/boards/se/7780/irq.c
arch/sh/kernel/cpu/irq/intc2.c
arch/sh/kernel/cpu/sh4/setup-sh7760.c
arch/sh/kernel/cpu/sh4a/setup-sh7780.c
arch/sh/kernel/cpu/sh4a/setup-sh7785.c
include/asm-sh/hw_irq.h
include/asm-sh/irq.h