aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAtsushi Nemoto <anemo@mba.ocn.ne.jp>2006-04-17 21:24:49 +0900
committerRalf Baechle <ralf@linux-mips.org>2006-04-27 15:13:49 +0100
commit6f8782c4b2ed3cb652f1ad6b6d91890c7f2423ab (patch)
tree772c02f21ccf4178681d3506888bdda3ff139f4f
parent[MIPS] Fix bitops for MIPS32/MIPS64 CPUs. (diff)
downloadlinux-dev-6f8782c4b2ed3cb652f1ad6b6d91890c7f2423ab.tar.xz
linux-dev-6f8782c4b2ed3cb652f1ad6b6d91890c7f2423ab.zip
[MIPS] Use __ffs() instead of ffs() in ip32_irq0().
With recent rewrite for generic bitops, ffs() is defined the same way as the libc and compiler built-in routines (returns int instead of unsigned long). Use __ffs() for 64bit value. Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
-rw-r--r--arch/mips/sgi-ip32/ip32-irq.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/arch/mips/sgi-ip32/ip32-irq.c b/arch/mips/sgi-ip32/ip32-irq.c
index 22a6df94b4a1..de01c9815bdd 100644
--- a/arch/mips/sgi-ip32/ip32-irq.c
+++ b/arch/mips/sgi-ip32/ip32-irq.c
@@ -507,13 +507,14 @@ static void ip32_irq0(struct pt_regs *regs)
int irq = 0;
crime_int = crime->istat & crime_mask;
- irq = ffs(crime_int);
- crime_int = 1 << (irq - 1);
+ irq = __ffs(crime_int);
+ crime_int = 1 << irq;
if (crime_int & CRIME_MACEISA_INT_MASK) {
unsigned long mace_int = mace->perif.ctrl.istat;
- irq = ffs(mace_int & maceisa_mask) + 32;
+ irq = __ffs(mace_int & maceisa_mask) + 32;
}
+ irq++;
DBG("*irq %u*\n", irq);
do_IRQ(irq, regs);
}