X-Git-Url: http://www.aleph1.co.uk/gitweb/?p=yaffs2.git;a=blobdiff_plain;f=yaffs_bitmap.c;h=7df42cd0066ed84aa29836948516dd130ac23b7b;hp=c7e9e8c4d8e8aa26f837f98defffc616c975c3a1;hb=2870702e0b0f4342857222a36ffcb21886c7f4bf;hpb=780469359d1051ab37ab281b0520137d73fee2e9 diff --git a/yaffs_bitmap.c b/yaffs_bitmap.c index c7e9e8c..7df42cd 100644 --- a/yaffs_bitmap.c +++ b/yaffs_bitmap.c @@ -17,89 +17,82 @@ * Chunk bitmap manipulations */ -static Y_INLINE __u8 *yaffs_BlockBits(yaffs_Device *dev, int blk) +static inline u8 *yaffs_block_bits(struct yaffs_dev *dev, int blk) { - if (blk < dev->internalStartBlock || blk > dev->internalEndBlock) { - T(YAFFS_TRACE_ERROR, - (TSTR("**>> yaffs: BlockBits block %d is not valid" TENDSTR), - blk)); + if (blk < dev->internal_start_block || blk > dev->internal_end_block) { + yaffs_trace(YAFFS_TRACE_ERROR, + "BlockBits block %d is not valid", + blk); YBUG(); } - return dev->chunkBits + - (dev->chunkBitmapStride * (blk - dev->internalStartBlock)); + return dev->chunk_bits + + (dev->chunk_bit_stride * (blk - dev->internal_start_block)); } -void yaffs_VerifyChunkBitId(yaffs_Device *dev, int blk, int chunk) +void yaffs_verify_chunk_bit_id(struct yaffs_dev *dev, int blk, int chunk) { - if (blk < dev->internalStartBlock || blk > dev->internalEndBlock || - chunk < 0 || chunk >= dev->param.nChunksPerBlock) { - T(YAFFS_TRACE_ERROR, - (TSTR("**>> yaffs: Chunk Id (%d:%d) invalid"TENDSTR), - blk, chunk)); + if (blk < dev->internal_start_block || blk > dev->internal_end_block || + chunk < 0 || chunk >= dev->param.chunks_per_block) { + yaffs_trace(YAFFS_TRACE_ERROR, + "Chunk Id (%d:%d) invalid", + blk, chunk); YBUG(); } } -void yaffs_ClearChunkBits(yaffs_Device *dev, int blk) +void yaffs_clear_chunk_bits(struct yaffs_dev *dev, int blk) { - __u8 *blkBits = yaffs_BlockBits(dev, blk); + u8 *blk_bits = yaffs_block_bits(dev, blk); - memset(blkBits, 0, dev->chunkBitmapStride); + memset(blk_bits, 0, dev->chunk_bit_stride); } -void yaffs_ClearChunkBit(yaffs_Device *dev, int blk, int chunk) +void yaffs_clear_chunk_bit(struct yaffs_dev *dev, int blk, int chunk) { - __u8 *blkBits = yaffs_BlockBits(dev, blk); + u8 *blk_bits = yaffs_block_bits(dev, blk); - yaffs_VerifyChunkBitId(dev, blk, chunk); + yaffs_verify_chunk_bit_id(dev, blk, chunk); - blkBits[chunk / 8] &= ~(1 << (chunk & 7)); + blk_bits[chunk / 8] &= ~(1 << (chunk & 7)); } -void yaffs_SetChunkBit(yaffs_Device *dev, int blk, int chunk) +void yaffs_set_chunk_bit(struct yaffs_dev *dev, int blk, int chunk) { - __u8 *blkBits = yaffs_BlockBits(dev, blk); + u8 *blk_bits = yaffs_block_bits(dev, blk); - yaffs_VerifyChunkBitId(dev, blk, chunk); + yaffs_verify_chunk_bit_id(dev, blk, chunk); - blkBits[chunk / 8] |= (1 << (chunk & 7)); + blk_bits[chunk / 8] |= (1 << (chunk & 7)); } -int yaffs_CheckChunkBit(yaffs_Device *dev, int blk, int chunk) +int yaffs_check_chunk_bit(struct yaffs_dev *dev, int blk, int chunk) { - __u8 *blkBits = yaffs_BlockBits(dev, blk); - yaffs_VerifyChunkBitId(dev, blk, chunk); + u8 *blk_bits = yaffs_block_bits(dev, blk); + yaffs_verify_chunk_bit_id(dev, blk, chunk); - return (blkBits[chunk / 8] & (1 << (chunk & 7))) ? 1 : 0; + return (blk_bits[chunk / 8] & (1 << (chunk & 7))) ? 1 : 0; } -int yaffs_StillSomeChunkBits(yaffs_Device *dev, int blk) +int yaffs_still_some_chunks(struct yaffs_dev *dev, int blk) { - __u8 *blkBits = yaffs_BlockBits(dev, blk); + u8 *blk_bits = yaffs_block_bits(dev, blk); int i; - for (i = 0; i < dev->chunkBitmapStride; i++) { - if (*blkBits) + for (i = 0; i < dev->chunk_bit_stride; i++) { + if (*blk_bits) return 1; - blkBits++; + blk_bits++; } return 0; } -int yaffs_CountChunkBits(yaffs_Device *dev, int blk) +int yaffs_count_chunk_bits(struct yaffs_dev *dev, int blk) { - __u8 *blkBits = yaffs_BlockBits(dev, blk); + u8 *blk_bits = yaffs_block_bits(dev, blk); int i; int n = 0; - for (i = 0; i < dev->chunkBitmapStride; i++) { - __u8 x = *blkBits; - while (x) { - if (x & 1) - n++; - x >>= 1; - } - - blkBits++; - } + + for (i = 0; i < dev->chunk_bit_stride; i++, blk_bits++) + n += hweight8(*blk_bits); + return n; } -