From 6f8782c4b2ed3cb652f1ad6b6d91890c7f2423ab Mon Sep 17 00:00:00 2001 From: Atsushi Nemoto Date: Mon, 17 Apr 2006 21:24:49 +0900 Subject: [PATCH] [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 Signed-off-by: Ralf Baechle --- arch/mips/sgi-ip32/ip32-irq.c | 7 ++++--- 1 file 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); } -- 2.20.1