blob: 973e7e7d2ba1afe7ac1b652ac56dea7098b514e3 [file] [log] [blame]
/*
* 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.
*/
/* ANDROID_CHANGE_BEGIN */
#if 0
#include <linux/bitmap.h>
#else
#include "include/linux/bitmap.h"
#endif
/* ANDROID_CHANGE_END */
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;
}