summaryrefslogtreecommitdiffstats
path: root/fs/hpfs/super.c
diff options
context:
space:
mode:
authorAkinobu Mita <akinobu.mita@gmail.com>2009-12-15 16:46:55 -0800
committerLinus Torvalds <torvalds@linux-foundation.org>2009-12-16 07:20:06 -0800
commitc2923c3a3ed71563891585bf58481bcdde72f403 (patch)
tree76bdaff56934ec453fb637eeb54dd665539c8099 /fs/hpfs/super.c
parente3c96f53ac132743fda1384910feb863a2eab916 (diff)
downloadlinux-c2923c3a3ed71563891585bf58481bcdde72f403.tar.gz
linux-c2923c3a3ed71563891585bf58481bcdde72f403.tar.bz2
linux-c2923c3a3ed71563891585bf58481bcdde72f403.zip
hpfs: use hweight32
Use hweight32 instead of counting for each bit 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>
Diffstat (limited to 'fs/hpfs/super.c')
-rw-r--r--fs/hpfs/super.c7
1 files changed, 2 insertions, 5 deletions
diff --git a/fs/hpfs/super.c b/fs/hpfs/super.c
index f2feaa06bf26..cf6fe4ad651a 100644
--- a/fs/hpfs/super.c
+++ b/fs/hpfs/super.c
@@ -119,11 +119,8 @@ unsigned hpfs_count_one_bitmap(struct super_block *s, secno secno)
unsigned i, count;
if (!(bits = hpfs_map_4sectors(s, secno, &qbh, 4))) return 0;
count = 0;
- for (i = 0; i < 2048 / sizeof(unsigned); i++) {
- unsigned b;
- if (!bits[i]) continue;
- for (b = bits[i]; b; b>>=1) count += b & 1;
- }
+ for (i = 0; i < 2048 / sizeof(unsigned); i++)
+ count += hweight32(bits[i]);
hpfs_brelse4(&qbh);
return count;
}