extern void __bitmap_shift_left(unsigned long *dst,
                         const unsigned long *src, int shift, int bits);
 extern int __bitmap_and(unsigned long *dst, const unsigned long *bitmap1,
-                       const unsigned long *bitmap2, int bits);
+                       const unsigned long *bitmap2, unsigned int nbits);
 extern void __bitmap_or(unsigned long *dst, const unsigned long *bitmap1,
-                       const unsigned long *bitmap2, int bits);
+                       const unsigned long *bitmap2, unsigned int nbits);
 extern void __bitmap_xor(unsigned long *dst, const unsigned long *bitmap1,
-                       const unsigned long *bitmap2, int bits);
+                       const unsigned long *bitmap2, unsigned int nbits);
 extern int __bitmap_andnot(unsigned long *dst, const unsigned long *bitmap1,
-                       const unsigned long *bitmap2, int bits);
+                       const unsigned long *bitmap2, unsigned int nbits);
 extern int __bitmap_intersects(const unsigned long *bitmap1,
                        const unsigned long *bitmap2, int bits);
 extern int __bitmap_subset(const unsigned long *bitmap1,
 }
 
 static inline int bitmap_and(unsigned long *dst, const unsigned long *src1,
-                       const unsigned long *src2, int nbits)
+                       const unsigned long *src2, unsigned int nbits)
 {
        if (small_const_nbits(nbits))
                return (*dst = *src1 & *src2) != 0;
 }
 
 static inline void bitmap_or(unsigned long *dst, const unsigned long *src1,
-                       const unsigned long *src2, int nbits)
+                       const unsigned long *src2, unsigned int nbits)
 {
        if (small_const_nbits(nbits))
                *dst = *src1 | *src2;
 }
 
 static inline void bitmap_xor(unsigned long *dst, const unsigned long *src1,
-                       const unsigned long *src2, int nbits)
+                       const unsigned long *src2, unsigned int nbits)
 {
        if (small_const_nbits(nbits))
                *dst = *src1 ^ *src2;
 }
 
 static inline int bitmap_andnot(unsigned long *dst, const unsigned long *src1,
-                       const unsigned long *src2, int nbits)
+                       const unsigned long *src2, unsigned int nbits)
 {
        if (small_const_nbits(nbits))
                return (*dst = *src1 & ~(*src2)) != 0;
 
 EXPORT_SYMBOL(__bitmap_shift_left);
 
 int __bitmap_and(unsigned long *dst, const unsigned long *bitmap1,
-                               const unsigned long *bitmap2, int bits)
+                               const unsigned long *bitmap2, unsigned int bits)
 {
-       int k;
-       int nr = BITS_TO_LONGS(bits);
+       unsigned int k;
+       unsigned int nr = BITS_TO_LONGS(bits);
        unsigned long result = 0;
 
        for (k = 0; k < nr; k++)
 EXPORT_SYMBOL(__bitmap_and);
 
 void __bitmap_or(unsigned long *dst, const unsigned long *bitmap1,
-                               const unsigned long *bitmap2, int bits)
+                               const unsigned long *bitmap2, unsigned int bits)
 {
-       int k;
-       int nr = BITS_TO_LONGS(bits);
+       unsigned int k;
+       unsigned int nr = BITS_TO_LONGS(bits);
 
        for (k = 0; k < nr; k++)
                dst[k] = bitmap1[k] | bitmap2[k];
 EXPORT_SYMBOL(__bitmap_or);
 
 void __bitmap_xor(unsigned long *dst, const unsigned long *bitmap1,
-                               const unsigned long *bitmap2, int bits)
+                               const unsigned long *bitmap2, unsigned int bits)
 {
-       int k;
-       int nr = BITS_TO_LONGS(bits);
+       unsigned int k;
+       unsigned int nr = BITS_TO_LONGS(bits);
 
        for (k = 0; k < nr; k++)
                dst[k] = bitmap1[k] ^ bitmap2[k];
 EXPORT_SYMBOL(__bitmap_xor);
 
 int __bitmap_andnot(unsigned long *dst, const unsigned long *bitmap1,
-                               const unsigned long *bitmap2, int bits)
+                               const unsigned long *bitmap2, unsigned int bits)
 {
-       int k;
-       int nr = BITS_TO_LONGS(bits);
+       unsigned int k;
+       unsigned int nr = BITS_TO_LONGS(bits);
        unsigned long result = 0;
 
        for (k = 0; k < nr; k++)