]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - include/asm-mips/txx9/generic.h
MIPS: TXx9: Microoptimize interrupt handlers
[linux-2.6-omap-h63xx.git] / include / asm-mips / txx9 / generic.h
index 1e1a9f2d2379653254484a96d496ebb9e4c31ea3..dc85515eac13659e2b909258ddb22fdc5d7efb3e 100644 (file)
@@ -64,4 +64,22 @@ struct physmap_flash_data;
 void txx9_physmap_flash_init(int no, unsigned long addr, unsigned long size,
                             const struct physmap_flash_data *pdata);
 
+/* 8 bit version of __fls(): find first bit set (returns 0..7) */
+static inline unsigned int __fls8(unsigned char x)
+{
+       int r = 7;
+
+       if (!(x & 0xf0)) {
+               r -= 4;
+               x <<= 4;
+       }
+       if (!(x & 0xc0)) {
+               r -= 2;
+               x <<= 2;
+       }
+       if (!(x & 0x80))
+               r -= 1;
+       return r;
+}
+
 #endif /* __ASM_TXX9_GENERIC_H */