diff options
author | Magnus Damm <damm@igel.co.jp> | 2007-06-14 21:41:54 -0400 |
---|---|---|
committer | Paul Mundt <lethal@linux-sh.org> | 2007-06-14 21:41:54 -0400 |
commit | d619500aed2f9b841b2310bc94f8056ae9ca2a73 (patch) | |
tree | 42ca07266afbf0406d419e57dde404ad89cd316d /include/asm-sh/irq.h | |
parent | d3efbdd6c5e8c823b732df26a355ec931ccab374 (diff) |
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>
Diffstat (limited to 'include/asm-sh/irq.h')
-rw-r--r-- | include/asm-sh/irq.h | 10 |
1 files changed, 0 insertions, 10 deletions
diff --git a/include/asm-sh/irq.h b/include/asm-sh/irq.h index e81bf21c801e..c247b733a7d6 100644 --- a/include/asm-sh/irq.h +++ b/include/asm-sh/irq.h | |||
@@ -63,16 +63,6 @@ void make_ipr_irq(struct ipr_data *table, unsigned int nr_irqs); | |||
63 | void make_imask_irq(unsigned int irq); | 63 | void make_imask_irq(unsigned int irq); |
64 | void init_IRQ_ipr(void); | 64 | void init_IRQ_ipr(void); |
65 | 65 | ||
66 | struct intc2_data { | ||
67 | unsigned short irq; | ||
68 | unsigned char ipr_offset, ipr_shift; | ||
69 | unsigned char msk_offset, msk_shift; | ||
70 | unsigned char priority; | ||
71 | }; | ||
72 | |||
73 | void make_intc2_irq(struct intc2_data *, unsigned int nr_irqs); | ||
74 | void init_IRQ_intc2(void); | ||
75 | |||
76 | static inline int generic_irq_demux(int irq) | 66 | static inline int generic_irq_demux(int irq) |
77 | { | 67 | { |
78 | return irq; | 68 | return irq; |