X-Git-Url: http://www.aleph1.co.uk/gitweb/?p=yaffs2.git;a=blobdiff_plain;f=yaffs_tagscompat.c;h=092430beccb7780311d1f148870a83a443fa0164;hp=3d72be4a3a1b87819ba59b501541c3cfbe03624d;hb=53892fe9e3770882fd8f53f1a8a392d875175b4b;hpb=5587d9d89d5fb9c31fd723e85949f85da70ef3a9 diff --git a/yaffs_tagscompat.c b/yaffs_tagscompat.c index 3d72be4..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,7 +350,8 @@ static int yaffs_tags_compat_query_block(struct yaffs_dev *dev, *seq_number = 0; - yaffs_rd_chunk_nand(dev, block_no * dev->param.chunks_per_block + 1, + /* 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, NULL, &spare1, &dummy, 0); @@ -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; }