projects
/
yaffs2.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
yaffs testing: Change plotting to check for null data
[yaffs2.git]
/
yaffs_nand.c
diff --git
a/yaffs_nand.c
b/yaffs_nand.c
index 5fee1a31f33acfa8b6c6ba28d19faf5c3ab7b2e2..ee061a825c703421a751aa9ba689f5f495fffdf6 100644
(file)
--- a/
yaffs_nand.c
+++ b/
yaffs_nand.c
@@
-17,124
+17,104
@@
#include "yaffs_getblockinfo.h"
#include "yaffs_getblockinfo.h"
-int yaffs_rd_chunk_tags_nand(yaffs_dev_t *dev, int nand_chunk,
- u8 *buffer,
- yaffs_ext_tags *tags)
+int yaffs_rd_chunk_tags_nand(struct yaffs_dev *dev, int nand_chunk,
+ u8 *buffer, struct yaffs_ext_tags *tags)
{
int result;
{
int result;
- yaffs_ext_tags local_tags;
-
+ struct yaffs_ext_tags local_tags;
int realigned_chunk = nand_chunk - dev->chunk_offset;
dev->n_page_reads++;
int realigned_chunk = nand_chunk - dev->chunk_offset;
dev->n_page_reads++;
- /* If there are no tags provided
, use local tags to get prioritised gc working
*/
+ /* If there are no tags provided
use local tags.
*/
if (!tags)
tags = &local_tags;
if (dev->param.read_chunk_tags_fn)
if (!tags)
tags = &local_tags;
if (dev->param.read_chunk_tags_fn)
- result = dev->param.read_chunk_tags_fn(dev, realigned_chunk, buffer,
- tags);
+ result =
+ dev->param.read_chunk_tags_fn(dev, realigned_chunk, buffer,
+ tags);
else
result = yaffs_tags_compat_rd(dev,
else
result = yaffs_tags_compat_rd(dev,
- realigned_chunk,
- buffer,
- tags);
- if (tags &&
- tags->ecc_result > YAFFS_ECC_RESULT_NO_ERROR) {
+ realigned_chunk, buffer, tags);
+ if (tags && tags->ecc_result > YAFFS_ECC_RESULT_NO_ERROR) {
- yaffs_block_info_t *bi;
- bi = yaffs_get_block_info(dev, nand_chunk/dev->param.chunks_per_block);
+ struct yaffs_block_info *bi;
+ bi = yaffs_get_block_info(dev,
+ nand_chunk /
+ dev->param.chunks_per_block);
yaffs_handle_chunk_error(dev, bi);
}
yaffs_handle_chunk_error(dev, bi);
}
-
return result;
}
return result;
}
-int yaffs_wr_chunk_tags_nand(yaffs_dev_t *dev,
- int nand_chunk,
- const u8 *buffer,
- yaffs_ext_tags *tags)
+int yaffs_wr_chunk_tags_nand(struct yaffs_dev *dev,
+ int nand_chunk,
+ const u8 *buffer, struct yaffs_ext_tags *tags)
{
{
-
dev->n_page_writes++;
dev->n_page_writes++;
-
nand_chunk -= dev->chunk_offset;
nand_chunk -= dev->chunk_offset;
-
if (tags) {
tags->seq_number = dev->seq_number;
tags->chunk_used = 1;
if (!yaffs_validate_tags(tags)) {
if (tags) {
tags->seq_number = dev->seq_number;
tags->chunk_used = 1;
if (!yaffs_validate_tags(tags)) {
-
T
(YAFFS_TRACE_ERROR,
-
(TSTR("Writing uninitialised tags" TENDSTR))
);
+
yaffs_trace
(YAFFS_TRACE_ERROR,
+
"Writing uninitialised tags"
);
YBUG();
}
YBUG();
}
-
T
(YAFFS_TRACE_WRITE,
-
(TSTR("Writing chunk %d tags %d %d" TENDSTR), nand_chunk
,
-
tags->obj_id, tags->chunk_id)
);
+
yaffs_trace
(YAFFS_TRACE_WRITE,
+
"Writing chunk %d tags %d %d"
,
+
nand_chunk, tags->obj_id, tags->chunk_id
);
} else {
} else {
-
T(YAFFS_TRACE_ERROR, (TSTR("Writing with no tags" TENDSTR))
);
+
yaffs_trace(YAFFS_TRACE_ERROR, "Writing with no tags"
);
YBUG();
YBUG();
+ return YAFFS_FAIL;
}
if (dev->param.write_chunk_tags_fn)
return dev->param.write_chunk_tags_fn(dev, nand_chunk, buffer,
}
if (dev->param.write_chunk_tags_fn)
return dev->param.write_chunk_tags_fn(dev, nand_chunk, buffer,
- tags);
+
tags);
else
else
- return yaffs_tags_compat_wr(dev,
- nand_chunk,
- buffer,
- tags);
+ return yaffs_tags_compat_wr(dev, nand_chunk, buffer, tags);
}
}
-int yaffs_mark_bad(
yaffs_dev_t
*dev, int block_no)
+int yaffs_mark_bad(
struct yaffs_dev
*dev, int block_no)
{
block_no -= dev->block_offset;
{
block_no -= dev->block_offset;
-
-
if (dev->param.bad_block_fn)
return dev->param.bad_block_fn(dev, block_no);
else
return yaffs_tags_compat_mark_bad(dev, block_no);
}
if (dev->param.bad_block_fn)
return dev->param.bad_block_fn(dev, block_no);
else
return yaffs_tags_compat_mark_bad(dev, block_no);
}
-int yaffs_query_init_block_state(
yaffs_dev_t
*dev,
-
int block_no,
-
yaffs_block_state_t
*state,
-
u32 *seq_number)
+int yaffs_query_init_block_state(
struct yaffs_dev
*dev,
+ int block_no,
+
enum yaffs_block_state
*state,
+ u32 *seq_number)
{
block_no -= dev->block_offset;
{
block_no -= dev->block_offset;
-
if (dev->param.query_block_fn)
if (dev->param.query_block_fn)
- return dev->param.query_block_fn(dev, block_no, state, seq_number);
+ return dev->param.query_block_fn(dev, block_no, state,
+ seq_number);
else
return yaffs_tags_compat_query_block(dev, block_no,
else
return yaffs_tags_compat_query_block(dev, block_no,
- state,
- seq_number);
+ state, seq_number);
}
}
-
-int yaffs_erase_block(struct yaffs_dev_s *dev,
- int flash_block)
+int yaffs_erase_block(struct yaffs_dev *dev, int flash_block)
{
int result;
flash_block -= dev->block_offset;
{
int result;
flash_block -= dev->block_offset;
-
dev->n_erasures++;
dev->n_erasures++;
-
result = dev->param.erase_fn(dev, flash_block);
result = dev->param.erase_fn(dev, flash_block);
-
return result;
}
return result;
}
-int yaffs_init_nand(struct yaffs_dev
_s
*dev)
+int yaffs_init_nand(struct yaffs_dev *dev)
{
{
- if(dev->param.initialise_flash_fn)
+ if
(dev->param.initialise_flash_fn)
return dev->param.initialise_flash_fn(dev);
return YAFFS_OK;
}
return dev->param.initialise_flash_fn(dev);
return YAFFS_OK;
}
-
-
-