소스 검색

[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 년 전
부모
커밋
6f8782c4b2
1개의 변경된 파일4개의 추가작업 그리고 3개의 파일을 삭제
  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;
 	int irq = 0;
 
 
 	crime_int = crime->istat & crime_mask;
 	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) {
 	if (crime_int & CRIME_MACEISA_INT_MASK) {
 		unsigned long mace_int = mace->perif.ctrl.istat;
 		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);
 	DBG("*irq %u*\n", irq);
 	do_IRQ(irq, regs);
 	do_IRQ(irq, regs);
 }
 }