/* | |
* From lib/bitmap.c | |
* Helper functions for bitmap.h. | |
* | |
* This source code is licensed under the GNU General Public License, | |
* Version 2. See the file COPYING for more details. | |
*/ | |
#include <linux/bitmap.h> | |
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 += hweight_long(bitmap[k]); | |
if (bits % BITS_PER_LONG) | |
w += hweight_long(bitmap[k] & BITMAP_LAST_WORD_MASK(bits)); | |
return w; | |
} |