* Chunk bitmap manipulations
*/
-static Y_INLINE u8 *yaffs_block_bits(struct yaffs_dev *dev, int blk)
+static inline u8 *yaffs_block_bits(struct yaffs_dev *dev, int blk)
{
if (blk < dev->internal_start_block || blk > dev->internal_end_block) {
yaffs_trace(YAFFS_TRACE_ERROR,
u8 *blk_bits = yaffs_block_bits(dev, blk);
int i;
int n = 0;
- for (i = 0; i < dev->chunk_bit_stride; i++) {
- u8 x = *blk_bits;
- while (x) {
- if (x & 1)
- n++;
- x >>= 1;
- }
- blk_bits++;
- }
+ for (i = 0; i < dev->chunk_bit_stride; i++, blk_bits++)
+ n += hweight8(*blk_bits);
+
return n;
}