|
@@ -253,33 +253,18 @@ int __bitmap_subset(const unsigned long *bitmap1,
|
|
|
}
|
|
|
EXPORT_SYMBOL(__bitmap_subset);
|
|
|
|
|
|
-#if BITS_PER_LONG == 32
|
|
|
int __bitmap_weight(const unsigned long *bitmap, int bits)
|
|
|
{
|
|
|
int k, w = 0, lim = bits/BITS_PER_LONG;
|
|
|
|
|
|
for (k = 0; k < lim; k++)
|
|
|
- w += hweight32(bitmap[k]);
|
|
|
+ w += hweight_long(bitmap[k]);
|
|
|
|
|
|
if (bits % BITS_PER_LONG)
|
|
|
- w += hweight32(bitmap[k] & BITMAP_LAST_WORD_MASK(bits));
|
|
|
+ w += hweight_long(bitmap[k] & BITMAP_LAST_WORD_MASK(bits));
|
|
|
|
|
|
return w;
|
|
|
}
|
|
|
-#else
|
|
|
-int __bitmap_weight(const unsigned long *bitmap, int bits)
|
|
|
-{
|
|
|
- int k, w = 0, lim = bits/BITS_PER_LONG;
|
|
|
-
|
|
|
- for (k = 0; k < lim; k++)
|
|
|
- w += hweight64(bitmap[k]);
|
|
|
-
|
|
|
- if (bits % BITS_PER_LONG)
|
|
|
- w += hweight64(bitmap[k] & BITMAP_LAST_WORD_MASK(bits));
|
|
|
-
|
|
|
- return w;
|
|
|
-}
|
|
|
-#endif
|
|
|
EXPORT_SYMBOL(__bitmap_weight);
|
|
|
|
|
|
/*
|