Commit f4c54fcf3ae6bdc0abf4e777a9499e2581bc8e94
Committed by
Linus Torvalds
1 parent
c2923c3a3e
Exists in
master
and in
7 other branches
hpfs: use bitmap_weight()
Use bitmap_weight instead of doing hweight32 for each 32bit in bitmap. Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com> Cc: Mikulas Patocka <mikulas@artax.karlin.mff.cuni.cz> Cc: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Showing 1 changed file with 8 additions and 6 deletions Side-by-side Diff
fs/hpfs/super.c
... | ... | @@ -14,6 +14,7 @@ |
14 | 14 | #include <linux/magic.h> |
15 | 15 | #include <linux/sched.h> |
16 | 16 | #include <linux/smp_lock.h> |
17 | +#include <linux/bitmap.h> | |
17 | 18 | |
18 | 19 | /* Mark the filesystem dirty, so that chkdsk checks it when os/2 booted */ |
19 | 20 | |
... | ... | @@ -115,12 +116,13 @@ |
115 | 116 | unsigned hpfs_count_one_bitmap(struct super_block *s, secno secno) |
116 | 117 | { |
117 | 118 | struct quad_buffer_head qbh; |
118 | - unsigned *bits; | |
119 | - unsigned i, count; | |
120 | - if (!(bits = hpfs_map_4sectors(s, secno, &qbh, 4))) return 0; | |
121 | - count = 0; | |
122 | - for (i = 0; i < 2048 / sizeof(unsigned); i++) | |
123 | - count += hweight32(bits[i]); | |
119 | + unsigned long *bits; | |
120 | + unsigned count; | |
121 | + | |
122 | + bits = hpfs_map_4sectors(s, secno, &qbh, 4); | |
123 | + if (!bits) | |
124 | + return 0; | |
125 | + count = bitmap_weight(bits, 2048 * BITS_PER_BYTE); | |
124 | 126 | hpfs_brelse4(&qbh); |
125 | 127 | return count; |
126 | 128 | } |