X-Git-Url: http://www.aleph1.co.uk/gitweb/?p=yaffs2.git;a=blobdiff_plain;f=yaffs_bitmap.c;h=7df42cd0066ed84aa29836948516dd130ac23b7b;hp=d54a27a9067ee1d67496238a0b6b266429bf2563;hb=79b0411a349d7b13384025f39be4d79e64f14f22;hpb=976dbeae825b18e6759f3903073a6784248cc244 diff --git a/yaffs_bitmap.c b/yaffs_bitmap.c index d54a27a..7df42cd 100644 --- a/yaffs_bitmap.c +++ b/yaffs_bitmap.c @@ -17,25 +17,25 @@ * 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) { - T(YAFFS_TRACE_ERROR, - (TSTR("**>> yaffs: BlockBits block %d is not valid" TENDSTR), - blk)); + yaffs_trace(YAFFS_TRACE_ERROR, + "BlockBits block %d is not valid", + blk); YBUG(); } return dev->chunk_bits + - (dev->chunk_bit_stride * (blk - dev->internal_start_block)); + (dev->chunk_bit_stride * (blk - dev->internal_start_block)); } void yaffs_verify_chunk_bit_id(struct yaffs_dev *dev, int blk, int chunk) { if (blk < dev->internal_start_block || blk > dev->internal_end_block || - chunk < 0 || chunk >= dev->param.chunks_per_block) { - T(YAFFS_TRACE_ERROR, - (TSTR("**>> yaffs: Chunk Id (%d:%d) invalid"TENDSTR), - blk, chunk)); + chunk < 0 || chunk >= dev->param.chunks_per_block) { + yaffs_trace(YAFFS_TRACE_ERROR, + "Chunk Id (%d:%d) invalid", + blk, chunk); YBUG(); } } @@ -90,16 +90,9 @@ int yaffs_count_chunk_bits(struct yaffs_dev *dev, int blk) 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; } -