diff options
Diffstat (limited to 'arch/mips')
-rw-r--r-- | arch/mips/emma/common/irq_emma2rh.c | 15 | ||||
-rw-r--r-- | arch/mips/emma/markeins/irq.c | 4 |
2 files changed, 8 insertions, 11 deletions
diff --git a/arch/mips/emma/common/irq_emma2rh.c b/arch/mips/emma/common/irq_emma2rh.c index 23ac959ce43c..4f84fede4c4c 100644 --- a/arch/mips/emma/common/irq_emma2rh.c +++ b/arch/mips/emma/common/irq_emma2rh.c | |||
@@ -41,19 +41,17 @@ | |||
41 | /* number of total irqs supported by EMMA2RH */ | 41 | /* number of total irqs supported by EMMA2RH */ |
42 | #define NUM_EMMA2RH_IRQ 96 | 42 | #define NUM_EMMA2RH_IRQ 96 |
43 | 43 | ||
44 | static int emma2rh_irq_base = -1; | ||
45 | |||
46 | void ll_emma2rh_irq_enable(int); | 44 | void ll_emma2rh_irq_enable(int); |
47 | void ll_emma2rh_irq_disable(int); | 45 | void ll_emma2rh_irq_disable(int); |
48 | 46 | ||
49 | static void emma2rh_irq_enable(unsigned int irq) | 47 | static void emma2rh_irq_enable(unsigned int irq) |
50 | { | 48 | { |
51 | ll_emma2rh_irq_enable(irq - emma2rh_irq_base); | 49 | ll_emma2rh_irq_enable(irq - EMMA2RH_IRQ_BASE); |
52 | } | 50 | } |
53 | 51 | ||
54 | static void emma2rh_irq_disable(unsigned int irq) | 52 | static void emma2rh_irq_disable(unsigned int irq) |
55 | { | 53 | { |
56 | ll_emma2rh_irq_disable(irq - emma2rh_irq_base); | 54 | ll_emma2rh_irq_disable(irq - EMMA2RH_IRQ_BASE); |
57 | } | 55 | } |
58 | 56 | ||
59 | struct irq_chip emma2rh_irq_controller = { | 57 | struct irq_chip emma2rh_irq_controller = { |
@@ -64,15 +62,14 @@ struct irq_chip emma2rh_irq_controller = { | |||
64 | .unmask = emma2rh_irq_enable, | 62 | .unmask = emma2rh_irq_enable, |
65 | }; | 63 | }; |
66 | 64 | ||
67 | void emma2rh_irq_init(u32 irq_base) | 65 | void emma2rh_irq_init(void) |
68 | { | 66 | { |
69 | u32 i; | 67 | u32 i; |
70 | 68 | ||
71 | for (i = irq_base; i < irq_base + NUM_EMMA2RH_IRQ; i++) | 69 | for (i = 0; i < NUM_EMMA2RH_IRQ; i++) |
72 | set_irq_chip_and_handler(i, &emma2rh_irq_controller, | 70 | set_irq_chip_and_handler(EMMA2RH_IRQ_BASE + i, |
71 | &emma2rh_irq_controller, | ||
73 | handle_level_irq); | 72 | handle_level_irq); |
74 | |||
75 | emma2rh_irq_base = irq_base; | ||
76 | } | 73 | } |
77 | 74 | ||
78 | void ll_emma2rh_irq_enable(int emma2rh_irq) | 75 | void ll_emma2rh_irq_enable(int emma2rh_irq) |
diff --git a/arch/mips/emma/markeins/irq.c b/arch/mips/emma/markeins/irq.c index dcb939205be7..86b9b6a34f47 100644 --- a/arch/mips/emma/markeins/irq.c +++ b/arch/mips/emma/markeins/irq.c | |||
@@ -55,7 +55,7 @@ | |||
55 | 55 | ||
56 | extern void emma2rh_sw_irq_init(u32 base); | 56 | extern void emma2rh_sw_irq_init(u32 base); |
57 | extern void emma2rh_gpio_irq_init(u32 base); | 57 | extern void emma2rh_gpio_irq_init(u32 base); |
58 | extern void emma2rh_irq_init(u32 base); | 58 | extern void emma2rh_irq_init(void); |
59 | extern void emma2rh_irq_dispatch(void); | 59 | extern void emma2rh_irq_dispatch(void); |
60 | 60 | ||
61 | static struct irqaction irq_cascade = { | 61 | static struct irqaction irq_cascade = { |
@@ -102,7 +102,7 @@ void __init arch_init_irq(void) | |||
102 | emma2rh_out32(EMMA2RH_GPIO_INT_ST, ~GPIO_PCI); | 102 | emma2rh_out32(EMMA2RH_GPIO_INT_ST, ~GPIO_PCI); |
103 | 103 | ||
104 | /* init all controllers */ | 104 | /* init all controllers */ |
105 | emma2rh_irq_init(EMMA2RH_IRQ_BASE); | 105 | emma2rh_irq_init(); |
106 | emma2rh_sw_irq_init(EMMA2RH_SW_IRQ_BASE); | 106 | emma2rh_sw_irq_init(EMMA2RH_SW_IRQ_BASE); |
107 | emma2rh_gpio_irq_init(EMMA2RH_GPIO_IRQ_BASE); | 107 | emma2rh_gpio_irq_init(EMMA2RH_GPIO_IRQ_BASE); |
108 | mips_cpu_irq_init(); | 108 | mips_cpu_irq_init(); |