diff options
author | Franck Bui-Huu <fbuihuu@gmail.com> | 2006-12-01 12:22:27 -0500 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2006-12-06 15:16:08 -0500 |
commit | e77c232cfc6e1250b2916a7c69225d6634d05a49 (patch) | |
tree | a5a193c3d6d7f8c8a9eb35d970dd47fa867e5e24 /arch/mips/momentum/ocelot_c | |
parent | 1ccd1c1c35a6cb21da32479931d4fa6d47320095 (diff) |
[MIPS] Compile __do_IRQ() when really needed
__do_IRQ() is needed only by irq handlers that can't use
default handlers defined in kernel/irq/chip.c.
For others platforms there's no need to compile this function
since it won't be used. For those platforms this patch defines
GENERIC_HARDIRQS_NO__DO_IRQ symbol which is used exactly for
this purpose.
Futhermore for platforms which do not use __do_IRQ(), end()
method which is part of the 'irq_chip' structure is not used.
This patch simply removes this method in this case.
Signed-off-by: Franck Bui-Huu <fbuihuu@gmail.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'arch/mips/momentum/ocelot_c')
-rw-r--r-- | arch/mips/momentum/ocelot_c/cpci-irq.c | 10 | ||||
-rw-r--r-- | arch/mips/momentum/ocelot_c/uart-irq.c | 10 |
2 files changed, 0 insertions, 20 deletions
diff --git a/arch/mips/momentum/ocelot_c/cpci-irq.c b/arch/mips/momentum/ocelot_c/cpci-irq.c index e5a4a0a8a7f0..bb11fef08472 100644 --- a/arch/mips/momentum/ocelot_c/cpci-irq.c +++ b/arch/mips/momentum/ocelot_c/cpci-irq.c | |||
@@ -66,15 +66,6 @@ static inline void unmask_cpci_irq(unsigned int irq) | |||
66 | } | 66 | } |
67 | 67 | ||
68 | /* | 68 | /* |
69 | * End IRQ processing | ||
70 | */ | ||
71 | static void end_cpci_irq(unsigned int irq) | ||
72 | { | ||
73 | if (!(irq_desc[irq].status & (IRQ_DISABLED|IRQ_INPROGRESS))) | ||
74 | unmask_cpci_irq(irq); | ||
75 | } | ||
76 | |||
77 | /* | ||
78 | * Interrupt handler for interrupts coming from the FPGA chip. | 69 | * Interrupt handler for interrupts coming from the FPGA chip. |
79 | * It could be built in ethernet ports etc... | 70 | * It could be built in ethernet ports etc... |
80 | */ | 71 | */ |
@@ -98,7 +89,6 @@ struct irq_chip cpci_irq_type = { | |||
98 | .mask = mask_cpci_irq, | 89 | .mask = mask_cpci_irq, |
99 | .mask_ack = mask_cpci_irq, | 90 | .mask_ack = mask_cpci_irq, |
100 | .unmask = unmask_cpci_irq, | 91 | .unmask = unmask_cpci_irq, |
101 | .end = end_cpci_irq, | ||
102 | }; | 92 | }; |
103 | 93 | ||
104 | void cpci_irq_init(void) | 94 | void cpci_irq_init(void) |
diff --git a/arch/mips/momentum/ocelot_c/uart-irq.c b/arch/mips/momentum/ocelot_c/uart-irq.c index 0029f0008dea..a7a80c0da569 100644 --- a/arch/mips/momentum/ocelot_c/uart-irq.c +++ b/arch/mips/momentum/ocelot_c/uart-irq.c | |||
@@ -60,15 +60,6 @@ static inline void unmask_uart_irq(unsigned int irq) | |||
60 | } | 60 | } |
61 | 61 | ||
62 | /* | 62 | /* |
63 | * End IRQ processing | ||
64 | */ | ||
65 | static void end_uart_irq(unsigned int irq) | ||
66 | { | ||
67 | if (!(irq_desc[irq].status & (IRQ_DISABLED|IRQ_INPROGRESS))) | ||
68 | unmask_uart_irq(irq); | ||
69 | } | ||
70 | |||
71 | /* | ||
72 | * Interrupt handler for interrupts coming from the FPGA chip. | 63 | * Interrupt handler for interrupts coming from the FPGA chip. |
73 | */ | 64 | */ |
74 | void ll_uart_irq(void) | 65 | void ll_uart_irq(void) |
@@ -91,7 +82,6 @@ struct irq_chip uart_irq_type = { | |||
91 | .mask = mask_uart_irq, | 82 | .mask = mask_uart_irq, |
92 | .mask_ack = mask_uart_irq, | 83 | .mask_ack = mask_uart_irq, |
93 | .unmask = unmask_uart_irq, | 84 | .unmask = unmask_uart_irq, |
94 | .end = end_uart_irq, | ||
95 | }; | 85 | }; |
96 | 86 | ||
97 | void uart_irq_init(void) | 87 | void uart_irq_init(void) |