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/vr41xx/common | |
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/vr41xx/common')
-rw-r--r-- | arch/mips/vr41xx/common/icu.c | 14 |
1 files changed, 0 insertions, 14 deletions
diff --git a/arch/mips/vr41xx/common/icu.c b/arch/mips/vr41xx/common/icu.c index 54b92a74c7ac..c075261976c5 100644 --- a/arch/mips/vr41xx/common/icu.c +++ b/arch/mips/vr41xx/common/icu.c | |||
@@ -427,19 +427,12 @@ static void enable_sysint1_irq(unsigned int irq) | |||
427 | icu1_set(MSYSINT1REG, 1 << SYSINT1_IRQ_TO_PIN(irq)); | 427 | icu1_set(MSYSINT1REG, 1 << SYSINT1_IRQ_TO_PIN(irq)); |
428 | } | 428 | } |
429 | 429 | ||
430 | static void end_sysint1_irq(unsigned int irq) | ||
431 | { | ||
432 | if (!(irq_desc[irq].status & (IRQ_DISABLED | IRQ_INPROGRESS))) | ||
433 | icu1_set(MSYSINT1REG, 1 << SYSINT1_IRQ_TO_PIN(irq)); | ||
434 | } | ||
435 | |||
436 | static struct irq_chip sysint1_irq_type = { | 430 | static struct irq_chip sysint1_irq_type = { |
437 | .typename = "SYSINT1", | 431 | .typename = "SYSINT1", |
438 | .ack = disable_sysint1_irq, | 432 | .ack = disable_sysint1_irq, |
439 | .mask = disable_sysint1_irq, | 433 | .mask = disable_sysint1_irq, |
440 | .mask_ack = disable_sysint1_irq, | 434 | .mask_ack = disable_sysint1_irq, |
441 | .unmask = enable_sysint1_irq, | 435 | .unmask = enable_sysint1_irq, |
442 | .end = end_sysint1_irq, | ||
443 | }; | 436 | }; |
444 | 437 | ||
445 | static void disable_sysint2_irq(unsigned int irq) | 438 | static void disable_sysint2_irq(unsigned int irq) |
@@ -452,19 +445,12 @@ static void enable_sysint2_irq(unsigned int irq) | |||
452 | icu2_set(MSYSINT2REG, 1 << SYSINT2_IRQ_TO_PIN(irq)); | 445 | icu2_set(MSYSINT2REG, 1 << SYSINT2_IRQ_TO_PIN(irq)); |
453 | } | 446 | } |
454 | 447 | ||
455 | static void end_sysint2_irq(unsigned int irq) | ||
456 | { | ||
457 | if (!(irq_desc[irq].status & (IRQ_DISABLED | IRQ_INPROGRESS))) | ||
458 | icu2_set(MSYSINT2REG, 1 << SYSINT2_IRQ_TO_PIN(irq)); | ||
459 | } | ||
460 | |||
461 | static struct irq_chip sysint2_irq_type = { | 448 | static struct irq_chip sysint2_irq_type = { |
462 | .typename = "SYSINT2", | 449 | .typename = "SYSINT2", |
463 | .ack = disable_sysint2_irq, | 450 | .ack = disable_sysint2_irq, |
464 | .mask = disable_sysint2_irq, | 451 | .mask = disable_sysint2_irq, |
465 | .mask_ack = disable_sysint2_irq, | 452 | .mask_ack = disable_sysint2_irq, |
466 | .unmask = enable_sysint2_irq, | 453 | .unmask = enable_sysint2_irq, |
467 | .end = end_sysint2_irq, | ||
468 | }; | 454 | }; |
469 | 455 | ||
470 | static inline int set_sysint1_assign(unsigned int irq, unsigned char assign) | 456 | static inline int set_sysint1_assign(unsigned int irq, unsigned char assign) |