/********** Tags ECC calculations *********/
-void yaffs_calc_ecc(const u8 * data, struct yaffs_spare *spare)
+void yaffs_calc_ecc(const u8 *data, struct yaffs_spare *spare)
{
yaffs_ecc_cacl(data, spare->ecc1);
yaffs_ecc_cacl(&data[256], spare->ecc2);
void yaffs_calc_tags_ecc(struct yaffs_tags *tags)
{
/* Calculate an ecc */
-
unsigned char *b = ((union yaffs_tags_union *)tags)->as_bytes;
unsigned i, j;
unsigned ecc = 0;
ecc ^= bit;
}
}
-
tags->ecc = ecc;
-
}
int yaffs_check_tags_ecc(struct yaffs_tags *tags)
/* TODO Need to do somethiong here */
return -1; /* unrecovered error */
}
-
return 0;
}
}
static int yaffs_wr_nand(struct yaffs_dev *dev,
- int nand_chunk, const u8 * data,
+ int nand_chunk, const u8 *data,
struct yaffs_spare *spare)
{
if (nand_chunk < dev->param.start_block * dev->param.chunks_per_block) {
static int yaffs_rd_chunk_nand(struct yaffs_dev *dev,
int nand_chunk,
- u8 * data,
+ u8 *data,
struct yaffs_spare *spare,
enum yaffs_ecc_result *ecc_result,
int correct_errors)
int flash_block = nand_chunk / dev->param.chunks_per_block;
/* Mark the block for retirement */
- yaffs_get_block_info(dev,
- flash_block + dev->block_offset)->needs_retiring =
- 1;
+ yaffs_get_block_info(dev, flash_block + dev->block_offset)->
+ needs_retiring = 1;
yaffs_trace(YAFFS_TRACE_ERROR | YAFFS_TRACE_BAD_BLOCKS,
"**>>Block %d marked for retirement",
flash_block);
int yaffs_tags_compat_wr(struct yaffs_dev *dev,
int nand_chunk,
- const u8 * data, const struct yaffs_ext_tags *ext_tags)
+ const u8 *data, const struct yaffs_ext_tags *ext_tags)
{
struct yaffs_spare spare;
struct yaffs_tags tags;
yaffs_spare_init(&spare);
-
+
if (ext_tags->is_deleted)
spare.page_status = 0;
else {
int yaffs_tags_compat_rd(struct yaffs_dev *dev,
int nand_chunk,
- u8 * data, struct yaffs_ext_tags *ext_tags)
+ u8 *data, struct yaffs_ext_tags *ext_tags)
{
-
struct yaffs_spare spare;
struct yaffs_tags tags;
enum yaffs_ecc_result ecc_result = YAFFS_ECC_RESULT_UNKNOWN;
-
static struct yaffs_spare spare_ff;
static int init;
init = 1;
}
- if (yaffs_rd_chunk_nand(dev, nand_chunk, data, &spare, &ecc_result, 1)) {
+ if (yaffs_rd_chunk_nand(dev, nand_chunk,
+ data, &spare, &ecc_result, 1)) {
/* ext_tags may be NULL */
if (ext_tags) {
int yaffs_tags_compat_mark_bad(struct yaffs_dev *dev, int flash_block)
{
-
struct yaffs_spare spare;
memset(&spare, 0xff, sizeof(struct yaffs_spare));
NULL, &spare);
return YAFFS_OK;
-
}
int yaffs_tags_compat_query_block(struct yaffs_dev *dev,
int block_no,
enum yaffs_block_state *state,
- u32 * seq_number)
+ u32 *seq_number)
{
-
struct yaffs_spare spare0, spare1;
static struct yaffs_spare spare_ff;
static int init;