diff options
author | Ralf Baechle <ralf@linux-mips.org> | 2006-11-06 17:41:06 +0000 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2006-11-06 20:55:38 +0000 |
commit | 4a4cf77923eeb3cec40a302656d6ab5ced04ba48 (patch) | |
tree | 6388d7a2227a28697b4c833089980c26df696745 /arch/mips/sgi-ip27 | |
parent | 325d08d1a44b601fbf70c259fb61c38d2af7d309 (diff) | |
download | lwn-4a4cf77923eeb3cec40a302656d6ab5ced04ba48.tar.gz lwn-4a4cf77923eeb3cec40a302656d6ab5ced04ba48.zip |
[MIPS] Make irq number allocator generally available for fixing EV64120.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'arch/mips/sgi-ip27')
-rw-r--r-- | arch/mips/sgi-ip27/ip27-irq.c | 23 | ||||
-rw-r--r-- | arch/mips/sgi-ip27/ip27-timer.c | 2 |
2 files changed, 0 insertions, 25 deletions
diff --git a/arch/mips/sgi-ip27/ip27-irq.c b/arch/mips/sgi-ip27/ip27-irq.c index f01ba1f90770..270ecd3e6b4a 100644 --- a/arch/mips/sgi-ip27/ip27-irq.c +++ b/arch/mips/sgi-ip27/ip27-irq.c @@ -354,29 +354,6 @@ static struct irq_chip bridge_irq_type = { .end = end_bridge_irq, }; -static unsigned long irq_map[NR_IRQS / BITS_PER_LONG]; - -int allocate_irqno(void) -{ - int irq; - -again: - irq = find_first_zero_bit(irq_map, NR_IRQS); - - if (irq >= NR_IRQS) - return -ENOSPC; - - if (test_and_set_bit(irq, irq_map)) - goto again; - - return irq; -} - -void free_irqno(unsigned int irq) -{ - clear_bit(irq, irq_map); -} - void __devinit register_bridge_irq(unsigned int irq) { irq_desc[irq].status = IRQ_DISABLED; diff --git a/arch/mips/sgi-ip27/ip27-timer.c b/arch/mips/sgi-ip27/ip27-timer.c index c965705f3427..5e82a268e3c9 100644 --- a/arch/mips/sgi-ip27/ip27-timer.c +++ b/arch/mips/sgi-ip27/ip27-timer.c @@ -214,8 +214,6 @@ static struct irqaction rt_irqaction = { .name = "timer" }; -extern int allocate_irqno(void); - void __init plat_timer_setup(struct irqaction *irq) { int irqno = allocate_irqno(); |