lib: bitmap: make nbits parameter of bitmap_full unsigned

The compiler can generate slightly smaller and simpler code when it
knows that "nbits" is non-negative.  Since no-one passes a negative
bit-count, this shouldn't affect the semantics.

Signed-off-by: Rasmus Villemoes <linux@rasmusvillemoes.dk>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
Rasmus Villemoes 2014-08-06 16:09:51 -07:00 committed by Linus Torvalds
parent 0679cc4836
commit 8397927c80
2 changed files with 4 additions and 4 deletions

View file

@ -89,7 +89,7 @@
*/ */
extern int __bitmap_empty(const unsigned long *bitmap, unsigned int nbits); extern int __bitmap_empty(const unsigned long *bitmap, unsigned int nbits);
extern int __bitmap_full(const unsigned long *bitmap, int bits); extern int __bitmap_full(const unsigned long *bitmap, unsigned int nbits);
extern int __bitmap_equal(const unsigned long *bitmap1, extern int __bitmap_equal(const unsigned long *bitmap1,
const unsigned long *bitmap2, int bits); const unsigned long *bitmap2, int bits);
extern void __bitmap_complement(unsigned long *dst, const unsigned long *src, extern void __bitmap_complement(unsigned long *dst, const unsigned long *src,
@ -265,7 +265,7 @@ static inline int bitmap_empty(const unsigned long *src, unsigned nbits)
return __bitmap_empty(src, nbits); return __bitmap_empty(src, nbits);
} }
static inline int bitmap_full(const unsigned long *src, int nbits) static inline int bitmap_full(const unsigned long *src, unsigned int nbits)
{ {
if (small_const_nbits(nbits)) if (small_const_nbits(nbits))
return ! (~(*src) & BITMAP_LAST_WORD_MASK(nbits)); return ! (~(*src) & BITMAP_LAST_WORD_MASK(nbits));

View file

@ -55,9 +55,9 @@ int __bitmap_empty(const unsigned long *bitmap, unsigned int bits)
} }
EXPORT_SYMBOL(__bitmap_empty); EXPORT_SYMBOL(__bitmap_empty);
int __bitmap_full(const unsigned long *bitmap, int bits) int __bitmap_full(const unsigned long *bitmap, unsigned int bits)
{ {
int k, lim = bits/BITS_PER_LONG; unsigned int k, lim = bits/BITS_PER_LONG;
for (k = 0; k < lim; ++k) for (k = 0; k < lim; ++k)
if (~bitmap[k]) if (~bitmap[k])
return 0; return 0;