]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - arch/mips/txx9/rbtx4927/irq.c
MIPS: TXx9: Microoptimize interrupt handlers
[linux-2.6-omap-h63xx.git] / arch / mips / txx9 / rbtx4927 / irq.c
index 22076e3f03a8f10b1bfd82c54ac1cf9ea10540ef..9c14ebb26cb4caf63f7448b02b83ad4e435f2332 100644 (file)
@@ -133,9 +133,9 @@ static int toshiba_rbtx4927_irq_nested(int sw_irq)
        u8 level3;
 
        level3 = readb(rbtx4927_imstat_addr) & 0x1f;
-       if (level3)
-               sw_irq = RBTX4927_IRQ_IOC + fls(level3) - 1;
-       return sw_irq;
+       if (unlikely(!level3))
+               return -1;
+       return RBTX4927_IRQ_IOC + __fls8(level3);
 }
 
 static void __init toshiba_rbtx4927_irq_ioc_init(void)