X-Git-Url: http://www.aleph1.co.uk/gitweb/?p=yaffs2.git;a=blobdiff_plain;f=yaffs_tagscompat.c;h=092430beccb7780311d1f148870a83a443fa0164;hp=23e694781361516f25236142bc78a88fb49545ea;hb=93e9fdf712264bc18bad8b249e8e908494b0f774;hpb=9edb962fd286e9f9a6fb2fd97a2317a1c29d64b0 diff --git a/yaffs_tagscompat.c b/yaffs_tagscompat.c index 23e6947..092430b 100644 --- a/yaffs_tagscompat.c +++ b/yaffs_tagscompat.c @@ -124,7 +124,7 @@ static int yaffs_wr_nand(struct yaffs_dev *dev, { int data_size = dev->data_bytes_per_chunk; - return dev->param.drv_write_chunk_fn(dev, nand_chunk, + return dev->drv.drv_write_chunk_fn(dev, nand_chunk, data, data_size, (u8 *) spare, sizeof(*spare)); } @@ -152,7 +152,7 @@ static int yaffs_rd_chunk_nand(struct yaffs_dev *dev, spare_size = sizeof(struct yaffs_spare); if (dev->param.use_nand_ecc) - return dev->param.drv_read_chunk_fn(dev, nand_chunk, + return dev->drv.drv_read_chunk_fn(dev, nand_chunk, data, data_size, (u8 *) spare, spare_size, ecc_result); @@ -160,7 +160,7 @@ static int yaffs_rd_chunk_nand(struct yaffs_dev *dev, /* Handle the ECC at this level. */ - ret_val = dev->param.drv_read_chunk_fn(dev, nand_chunk, + ret_val = dev->drv.drv_read_chunk_fn(dev, nand_chunk, data, data_size, (u8 *)spare, spare_size, NULL); @@ -350,6 +350,7 @@ static int yaffs_tags_compat_query_block(struct yaffs_dev *dev, *seq_number = 0; + /* Look for bad block markers in the first two chunks */ yaffs_rd_chunk_nand(dev, block_no * dev->param.chunks_per_block, NULL, &spare0, &dummy, 0); yaffs_rd_chunk_nand(dev, block_no * dev->param.chunks_per_block + 1, @@ -369,12 +370,12 @@ void yaffs_tags_compat_install(struct yaffs_dev *dev) { if(dev->param.is_yaffs2) return; - if(!dev->param.write_chunk_tags_fn) - dev->param.write_chunk_tags_fn = yaffs_tags_compat_wr; - if(!dev->param.read_chunk_tags_fn) - dev->param.read_chunk_tags_fn = yaffs_tags_compat_rd; - if(!dev->param.query_block_fn) - dev->param.query_block_fn = yaffs_tags_compat_query_block; - if(!dev->param.mark_bad_fn) - dev->param.mark_bad_fn = yaffs_tags_compat_mark_bad; + if(!dev->tagger.write_chunk_tags_fn) + dev->tagger.write_chunk_tags_fn = yaffs_tags_compat_wr; + if(!dev->tagger.read_chunk_tags_fn) + dev->tagger.read_chunk_tags_fn = yaffs_tags_compat_rd; + if(!dev->tagger.query_block_fn) + dev->tagger.query_block_fn = yaffs_tags_compat_query_block; + if(!dev->tagger.mark_bad_fn) + dev->tagger.mark_bad_fn = yaffs_tags_compat_mark_bad; }