diff options
author | Greg Ungerer <gerg@uclinux.org> | 2009-04-27 01:09:29 -0400 |
---|---|---|
committer | Greg Ungerer <gerg@uclinux.org> | 2009-09-15 19:43:39 -0400 |
commit | cd3dd4068db5e1258a14b63e0feaf0332640d896 (patch) | |
tree | 07b28dab223d4a19eedb517d2792aba7753ecb0b /arch/m68knommu/kernel | |
parent | 584320156b7e42e74105ca78bdf895d2b0269251 (diff) |
m68knommu: use general interrupt controller for ColdFire 520x family
Create general interrupt controller code for the ColdFire 520x family,
that does proper masking and unmasking of interrupts. With this in
place some of the driver hacks in place to support ColdFire interrupts
can finally go away.
Within the ColdFire family there is a variety of different interrupt
controllers in use. Some are used on multiple parts, some on only one.
There is quite some differences in some varients, so much so that
common code for all ColdFire parts would be impossible.
This commit introduces code to support one of the newer interrupt
controllers in the ColdFire 5208 and 5207 parts. It has very simple
mask and unmask operations, so is one of the easiest to support.
Signed-off-by: Greg Ungerer <gerg@uclinux.org>
Diffstat (limited to 'arch/m68knommu/kernel')
-rw-r--r-- | arch/m68knommu/kernel/irq.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/arch/m68knommu/kernel/irq.c b/arch/m68knommu/kernel/irq.c index 9e0c100447ca..47f6af57e18e 100644 --- a/arch/m68knommu/kernel/irq.c +++ b/arch/m68knommu/kernel/irq.c | |||
@@ -29,6 +29,8 @@ asmlinkage void do_IRQ(int irq, struct pt_regs *regs) | |||
29 | set_irq_regs(oldregs); | 29 | set_irq_regs(oldregs); |
30 | } | 30 | } |
31 | 31 | ||
32 | #if !defined(CONFIG_M520x) | ||
33 | |||
32 | static struct irq_chip m_irq_chip = { | 34 | static struct irq_chip m_irq_chip = { |
33 | .name = "M68K-INTC", | 35 | .name = "M68K-INTC", |
34 | .enable = enable_vector, | 36 | .enable = enable_vector, |
@@ -50,6 +52,8 @@ void __init init_IRQ(void) | |||
50 | } | 52 | } |
51 | } | 53 | } |
52 | 54 | ||
55 | #endif | ||
56 | |||
53 | int show_interrupts(struct seq_file *p, void *v) | 57 | int show_interrupts(struct seq_file *p, void *v) |
54 | { | 58 | { |
55 | struct irqaction *ap; | 59 | struct irqaction *ap; |