extern void bitmap_onto(unsigned long *dst, const unsigned long *orig,
                const unsigned long *relmap, unsigned int bits);
 extern void bitmap_fold(unsigned long *dst, const unsigned long *orig,
-               int sz, int bits);
+               unsigned int sz, unsigned int nbits);
 extern int bitmap_find_free_region(unsigned long *bitmap, unsigned int bits, int order);
 extern void bitmap_release_region(unsigned long *bitmap, unsigned int pos, int order);
 extern int bitmap_allocate_region(unsigned long *bitmap, unsigned int pos, int order);
 
  *     @dst: resulting smaller bitmap
  *     @orig: original larger bitmap
  *     @sz: specified size
- *     @bits: number of bits in each of these bitmaps
+ *     @nbits: number of bits in each of these bitmaps
  *
  * For each bit oldbit in @orig, set bit oldbit mod @sz in @dst.
  * Clear all other bits in @dst.  See further the comment and
  * Example [2] for bitmap_onto() for why and how to use this.
  */
 void bitmap_fold(unsigned long *dst, const unsigned long *orig,
-                       int sz, int bits)
+                       unsigned int sz, unsigned int nbits)
 {
-       int oldbit;
+       unsigned int oldbit;
 
        if (dst == orig)        /* following doesn't handle inplace mappings */
                return;
-       bitmap_zero(dst, bits);
+       bitmap_zero(dst, nbits);
 
-       for_each_set_bit(oldbit, orig, bits)
+       for_each_set_bit(oldbit, orig, nbits)
                set_bit(oldbit % sz, dst);
 }
 EXPORT_SYMBOL(bitmap_fold);