| /* |
| * 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; |
| } |