Prechádzať zdrojové kódy

[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>

Atsushi Nemoto 19 rokov pred
rodič
commit
6f8782c4b2
1 zmenil súbory, kde vykonal 4 pridanie a 3 odobranie
  1. 4 3
      arch/mips/sgi-ip32/ip32-irq.c

+ 4 - 3
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);
 }