[atheros] remove the clz function, use fls instead
[openwrt-10.03/.git] / target / linux / atheros / files / arch / mips / atheros / ar5315 / irq.c
index ed784ba88a34a790bd6539083e5f8f629155a101..69cb362a00dde281b8e98dc4c6b9b617ad10b2f1 100644 (file)
@@ -20,6 +20,7 @@
 #include <linux/kernel.h>
 #include <linux/reboot.h>
 #include <linux/interrupt.h>
+#include <linux/bitops.h>
 #include <asm/bootinfo.h>
 #include <asm/irq_cpu.h>
 #include <asm/io.h>
@@ -39,7 +40,7 @@ static inline void ar5315_gpio_irq(void)
        if (!pend)
                return;
 
-       do_IRQ(AR531X_GPIO_IRQ_BASE + 31 - clz(pend));
+       do_IRQ(AR531X_GPIO_IRQ_BASE + fls(pend) - 1);
 }