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/kernel/irq-rm9000.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/kernel/irq-rm9000.c')
-rw-r--r-- | arch/mips/kernel/irq-rm9000.c | 8 |
1 files changed, 0 insertions, 8 deletions
diff --git a/arch/mips/kernel/irq-rm9000.c b/arch/mips/kernel/irq-rm9000.c index ba6440c88abd..0e6f4c5349d2 100644 --- a/arch/mips/kernel/irq-rm9000.c +++ b/arch/mips/kernel/irq-rm9000.c | |||
@@ -80,19 +80,12 @@ static void rm9k_perfcounter_irq_shutdown(unsigned int irq) | |||
80 | on_each_cpu(local_rm9k_perfcounter_irq_shutdown, (void *) irq, 0, 1); | 80 | on_each_cpu(local_rm9k_perfcounter_irq_shutdown, (void *) irq, 0, 1); |
81 | } | 81 | } |
82 | 82 | ||
83 | static void rm9k_cpu_irq_end(unsigned int irq) | ||
84 | { | ||
85 | if (!(irq_desc[irq].status & (IRQ_DISABLED | IRQ_INPROGRESS))) | ||
86 | unmask_rm9k_irq(irq); | ||
87 | } | ||
88 | |||
89 | static struct irq_chip rm9k_irq_controller = { | 83 | static struct irq_chip rm9k_irq_controller = { |
90 | .typename = "RM9000", | 84 | .typename = "RM9000", |
91 | .ack = mask_rm9k_irq, | 85 | .ack = mask_rm9k_irq, |
92 | .mask = mask_rm9k_irq, | 86 | .mask = mask_rm9k_irq, |
93 | .mask_ack = mask_rm9k_irq, | 87 | .mask_ack = mask_rm9k_irq, |
94 | .unmask = unmask_rm9k_irq, | 88 | .unmask = unmask_rm9k_irq, |
95 | .end = rm9k_cpu_irq_end, | ||
96 | }; | 89 | }; |
97 | 90 | ||
98 | static struct irq_chip rm9k_perfcounter_irq = { | 91 | static struct irq_chip rm9k_perfcounter_irq = { |
@@ -103,7 +96,6 @@ static struct irq_chip rm9k_perfcounter_irq = { | |||
103 | .mask = mask_rm9k_irq, | 96 | .mask = mask_rm9k_irq, |
104 | .mask_ack = mask_rm9k_irq, | 97 | .mask_ack = mask_rm9k_irq, |
105 | .unmask = unmask_rm9k_irq, | 98 | .unmask = unmask_rm9k_irq, |
106 | .end = rm9k_cpu_irq_end, | ||
107 | }; | 99 | }; |
108 | 100 | ||
109 | unsigned int rm9000_perfcount_irq; | 101 | unsigned int rm9000_perfcount_irq; |