X-Git-Url: https://yaffs.net/gitweb/?a=blobdiff_plain;f=direct%2Fu-boot%2Ffs%2Fyaffs2%2Fyaffs_mtdif2.c;h=78af31edaf153dc39af1e5901a9835a92fa5bccd;hb=1f3d64d1d804fef6715126dead54bf30b176c67e;hp=4d968722161805a433f737cce54cde56f2c4c4e2;hpb=8b348464b712730cbc18391924d805c1cab7b9ff;p=yaffs2.git diff --git a/direct/u-boot/fs/yaffs2/yaffs_mtdif2.c b/direct/u-boot/fs/yaffs2/yaffs_mtdif2.c index 4d96872..78af31e 100644 --- a/direct/u-boot/fs/yaffs2/yaffs_mtdif2.c +++ b/direct/u-boot/fs/yaffs2/yaffs_mtdif2.c @@ -1,8 +1,7 @@ /* * YAFFS: Yet Another Flash File System. A NAND-flash specific file system. * - * Copyright (C) 2002-2007 Aleph One Ltd. - * for Toby Churchill Ltd and Brightstar Engineering + * Copyright (C) 2002-2018 Aleph One Ltd. * * Created by Charles Manning * @@ -43,11 +42,8 @@ int nandmtd2_write_chunk_tags(struct yaffs_dev *dev, int nand_chunk, const struct yaffs_ext_tags *tags) { struct mtd_info *mtd = yaffs_dev_to_mtd(dev); -#if (LINUX_VERSION_CODE > KERNEL_VERSION(2, 6, 17)) struct mtd_oob_ops ops; -#else - size_t dummy; -#endif + int retval = 0; loff_t addr; @@ -83,7 +79,6 @@ int nandmtd2_write_chunk_tags(struct yaffs_dev *dev, int nand_chunk, yaffs_pack_tags2(&pt, tags, !dev->param.no_tags_ecc); } -#if (LINUX_VERSION_CODE > KERNEL_VERSION(2, 6, 17)) ops.mode = MTD_OOB_AUTO; ops.ooblen = (dev->param.inband_tags) ? 0 : packed_tags_size; ops.len = dev->param.total_bytes_per_chunk; @@ -92,18 +87,6 @@ int nandmtd2_write_chunk_tags(struct yaffs_dev *dev, int nand_chunk, ops.oobbuf = (dev->param.inband_tags) ? NULL : packed_tags_ptr; retval = mtd->write_oob(mtd, addr, &ops); -#else - if (!dev->param.inband_tags) { - retval = - mtd->write_ecc(mtd, addr, dev->data_bytes_per_chunk, - &dummy, data, (u8 *) packed_tags_ptr, NULL); - } else { - retval = - mtd->write(mtd, addr, dev->param.total_bytes_per_chunk, - &dummy, data); - } -#endif - if (retval == 0) return YAFFS_OK; else @@ -114,20 +97,13 @@ int nandmtd2_read_chunk_tags(struct yaffs_dev *dev, int nand_chunk, u8 *data, struct yaffs_ext_tags *tags) { struct mtd_info *mtd = yaffs_dev_to_mtd(dev); - u8 local_spare[128]; - -#if (LINUX_VERSION_CODE > KERNEL_VERSION(2, 6, 17)) struct mtd_oob_ops ops; -#endif size_t dummy; int retval = 0; int local_data = 0; - - loff_t addr = ((loff_t) nand_chunk) * dev->param.total_bytes_per_chunk; - struct yaffs_packed_tags2 pt; - + loff_t addr = ((loff_t) nand_chunk) * dev->param.total_bytes_per_chunk; int packed_tags_size = dev->param.no_tags_ecc ? sizeof(pt.t) : sizeof(pt); void *packed_tags_ptr = @@ -146,7 +122,6 @@ int nandmtd2_read_chunk_tags(struct yaffs_dev *dev, int nand_chunk, } -#if (LINUX_VERSION_CODE > KERNEL_VERSION(2, 6, 17)) if (dev->param.inband_tags || (data && !tags)) retval = mtd->read(mtd, addr, dev->param.total_bytes_per_chunk, &dummy, data); @@ -159,22 +134,6 @@ int nandmtd2_read_chunk_tags(struct yaffs_dev *dev, int nand_chunk, ops.oobbuf = local_spare; retval = mtd->read_oob(mtd, addr, &ops); } -#else - if (!dev->param.inband_tags && data && tags) { - - retval = mtd->read_ecc(mtd, addr, dev->data_bytes_per_chunk, - &dummy, data, dev->spare_buffer, NULL); - } else { - if (data) - retval = - mtd->read(mtd, addr, dev->data_bytes_per_chunk, - &dummy, data); - if (!dev->param.inband_tags && tags) - retval = - mtd->read_oob(mtd, addr, mtd->oobsize, &dummy, - dev->spare_buffer); - } -#endif if (dev->param.inband_tags) { if (tags) { @@ -234,7 +193,7 @@ int nandmtd2_MarkNANDBlockBad(struct yaffs_dev *dev, int blockNo) } int nandmtd2_QueryNANDBlock(struct yaffs_dev *dev, int blockNo, - enum yaffs_block_state * state, u32 *sequenceNumber) + enum yaffs_block_state *state, u32 *sequenceNumber) { struct mtd_info *mtd = (struct mtd_info *)(dev->driver_context); int retval; @@ -253,9 +212,9 @@ int nandmtd2_QueryNANDBlock(struct yaffs_dev *dev, int blockNo, } else { struct yaffs_ext_tags t; nandmtd2_read_chunk_tags(dev, - blockNo * - dev->param.chunks_per_block, NULL, - &t); + blockNo * + dev->param.chunks_per_block, NULL, + &t); if (t.chunk_used) { *sequenceNumber = t.seq_number; @@ -265,7 +224,8 @@ int nandmtd2_QueryNANDBlock(struct yaffs_dev *dev, int blockNo, *state = YAFFS_BLOCK_STATE_EMPTY; } } - yaffs_trace(YAFFS_TRACE_MTD, "block is bad seq %d state %d", *sequenceNumber, *state); + yaffs_trace(YAFFS_TRACE_MTD, "block is bad seq %d state %d", + *sequenceNumber, *state); if (retval == 0) return YAFFS_OK;