[MIPS] Use __ffs() instead of ffs() in ip32_irq0().
authorAtsushi Nemoto <anemo@mba.ocn.ne.jp>
Mon, 17 Apr 2006 12:24:49 +0000 (21:24 +0900)
committerRalf Baechle <ralf@linux-mips.org>
Thu, 27 Apr 2006 14:13:49 +0000 (15:13 +0100)
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>
arch/mips/sgi-ip32/ip32-irq.c

index 22a6df94b4a1e0ea81ae5602b710820b54014161..de01c9815bddf719f6b40dd85bf0d67dee95913b 100644 (file)
@@ -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);
 }