diff options
author | Greg Ungerer <gerg@uclinux.org> | 2009-04-30 02:22:24 -0400 |
---|---|---|
committer | Greg Ungerer <gerg@uclinux.org> | 2009-09-15 19:43:44 -0400 |
commit | 33a21263bf74177209c11f08246fc308916d9ffa (patch) | |
tree | e17343a09cb5f0a0faaeb2985b91368cc32cbda1 /arch/m68knommu/platform/coldfire/intc.c | |
parent | 6589c1d71581618dfc344628fb425ee4f09ce904 (diff) |
m68knommu: use common interrupt controller code for older ColdFire CPU's
The old ColdFire CPU's (5206, 5307, 5407, 5249 etc) use a simple
interrupt controller. Use common setup code for them. This addition
means that all ColdFire CPU's now have some specific type of interrupt
controller code.
Signed-off-by: Greg Ungerer <gerg@uclinux.org>
Diffstat (limited to 'arch/m68knommu/platform/coldfire/intc.c')
-rw-r--r-- | arch/m68knommu/platform/coldfire/intc.c | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/arch/m68knommu/platform/coldfire/intc.c b/arch/m68knommu/platform/coldfire/intc.c new file mode 100644 index 000000000000..c81ab6e5cf26 --- /dev/null +++ b/arch/m68knommu/platform/coldfire/intc.c | |||
@@ -0,0 +1,55 @@ | |||
1 | /* | ||
2 | * intc.c | ||
3 | * | ||
4 | * (C) Copyright 2009, Greg Ungerer <gerg@snapgear.com> | ||
5 | * | ||
6 | * This file is subject to the terms and conditions of the GNU General Public | ||
7 | * License. See the file COPYING in the main directory of this archive | ||
8 | * for more details. | ||
9 | */ | ||
10 | |||
11 | #include <linux/types.h> | ||
12 | #include <linux/init.h> | ||
13 | #include <linux/kernel.h> | ||
14 | #include <linux/interrupt.h> | ||
15 | #include <linux/irq.h> | ||
16 | #include <linux/io.h> | ||
17 | #include <asm/traps.h> | ||
18 | #include <asm/coldfire.h> | ||
19 | #include <asm/mcfsim.h> | ||
20 | |||
21 | static void intc_irq_mask(unsigned int irq) | ||
22 | { | ||
23 | } | ||
24 | |||
25 | static void intc_irq_unmask(unsigned int irq) | ||
26 | { | ||
27 | } | ||
28 | |||
29 | static int intc_irq_set_type(unsigned int irq, unsigned int type) | ||
30 | { | ||
31 | return 0; | ||
32 | } | ||
33 | |||
34 | static struct irq_chip intc_irq_chip = { | ||
35 | .name = "CF-INTC", | ||
36 | .mask = intc_irq_mask, | ||
37 | .unmask = intc_irq_unmask, | ||
38 | .set_type = intc_irq_set_type, | ||
39 | }; | ||
40 | |||
41 | void __init init_IRQ(void) | ||
42 | { | ||
43 | int irq; | ||
44 | |||
45 | init_vectors(); | ||
46 | |||
47 | for (irq = 0; (irq < NR_IRQS); irq++) { | ||
48 | irq_desc[irq].status = IRQ_DISABLED; | ||
49 | irq_desc[irq].action = NULL; | ||
50 | irq_desc[irq].depth = 1; | ||
51 | irq_desc[irq].chip = &intc_irq_chip; | ||
52 | intc_irq_set_type(irq, 0); | ||
53 | } | ||
54 | } | ||
55 | |||