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/dec | |
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/dec')
-rw-r--r-- | arch/mips/dec/ioasic-irq.c | 1 | ||||
-rw-r--r-- | arch/mips/dec/kn02-irq.c | 7 |
2 files changed, 0 insertions, 8 deletions
diff --git a/arch/mips/dec/ioasic-irq.c b/arch/mips/dec/ioasic-irq.c index e21476d955c2..4c7cb4048d35 100644 --- a/arch/mips/dec/ioasic-irq.c +++ b/arch/mips/dec/ioasic-irq.c | |||
@@ -67,7 +67,6 @@ static struct irq_chip ioasic_irq_type = { | |||
67 | .mask = mask_ioasic_irq, | 67 | .mask = mask_ioasic_irq, |
68 | .mask_ack = ack_ioasic_irq, | 68 | .mask_ack = ack_ioasic_irq, |
69 | .unmask = unmask_ioasic_irq, | 69 | .unmask = unmask_ioasic_irq, |
70 | .end = end_ioasic_irq, | ||
71 | }; | 70 | }; |
72 | 71 | ||
73 | 72 | ||
diff --git a/arch/mips/dec/kn02-irq.c b/arch/mips/dec/kn02-irq.c index 5a9be4c93584..916e46b8ccd8 100644 --- a/arch/mips/dec/kn02-irq.c +++ b/arch/mips/dec/kn02-irq.c | |||
@@ -57,19 +57,12 @@ static void ack_kn02_irq(unsigned int irq) | |||
57 | iob(); | 57 | iob(); |
58 | } | 58 | } |
59 | 59 | ||
60 | static void end_kn02_irq(unsigned int irq) | ||
61 | { | ||
62 | if (!(irq_desc[irq].status & (IRQ_DISABLED | IRQ_INPROGRESS))) | ||
63 | unmask_kn02_irq(irq); | ||
64 | } | ||
65 | |||
66 | static struct irq_chip kn02_irq_type = { | 60 | static struct irq_chip kn02_irq_type = { |
67 | .typename = "KN02-CSR", | 61 | .typename = "KN02-CSR", |
68 | .ack = ack_kn02_irq, | 62 | .ack = ack_kn02_irq, |
69 | .mask = mask_kn02_irq, | 63 | .mask = mask_kn02_irq, |
70 | .mask_ack = ack_kn02_irq, | 64 | .mask_ack = ack_kn02_irq, |
71 | .unmask = unmask_kn02_irq, | 65 | .unmask = unmask_kn02_irq, |
72 | .end = end_kn02_irq, | ||
73 | }; | 66 | }; |
74 | 67 | ||
75 | 68 | ||