diff options
author | Akinobu Mita <akinobu.mita@gmail.com> | 2009-12-16 03:46:56 +0300 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-12-16 18:20:06 +0300 |
commit | f4c54fcf3ae6bdc0abf4e777a9499e2581bc8e94 (patch) | |
tree | 1200ce82c805679e5a18e02516ceac8f6bec25b4 | |
parent | c2923c3a3ed71563891585bf58481bcdde72f403 (diff) | |
download | linux-f4c54fcf3ae6bdc0abf4e777a9499e2581bc8e94.tar.xz |
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>
-rw-r--r-- | fs/hpfs/super.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/fs/hpfs/super.c b/fs/hpfs/super.c index cf6fe4ad651a..cadc4ce48656 100644 --- a/fs/hpfs/super.c +++ b/fs/hpfs/super.c @@ -14,6 +14,7 @@ #include <linux/magic.h> #include <linux/sched.h> #include <linux/smp_lock.h> +#include <linux/bitmap.h> /* Mark the filesystem dirty, so that chkdsk checks it when os/2 booted */ @@ -115,12 +116,13 @@ static void hpfs_put_super(struct super_block *s) unsigned hpfs_count_one_bitmap(struct super_block *s, secno secno) { struct quad_buffer_head qbh; - unsigned *bits; - unsigned i, count; - if (!(bits = hpfs_map_4sectors(s, secno, &qbh, 4))) return 0; - count = 0; - for (i = 0; i < 2048 / sizeof(unsigned); i++) - count += hweight32(bits[i]); + unsigned long *bits; + unsigned count; + + bits = hpfs_map_4sectors(s, secno, &qbh, 4); + if (!bits) + return 0; + count = bitmap_weight(bits, 2048 * BITS_PER_BYTE); hpfs_brelse4(&qbh); return count; } |