summaryrefslogtreecommitdiff
path: root/yaffs_guts.h
diff options
context:
space:
mode:
Diffstat (limited to 'yaffs_guts.h')
-rw-r--r--yaffs_guts.h16
1 files changed, 5 insertions, 11 deletions
diff --git a/yaffs_guts.h b/yaffs_guts.h
index fc31143..6ec8a47 100644
--- a/yaffs_guts.h
+++ b/yaffs_guts.h
@@ -38,13 +38,13 @@
#define YAFFS_TNODES_INTERNAL_MASK 0x7
#define YAFFS_TNODES_MAX_LEVEL 6
-#ifndef CONFIG_YAFFS_NO_YAFFS1
+
+/* Constants for YAFFS1 mode */
#define YAFFS_BYTES_PER_SPARE 16
#define YAFFS_BYTES_PER_CHUNK 512
#define YAFFS_CHUNK_SIZE_SHIFT 9
#define YAFFS_CHUNKS_PER_BLOCK 32
#define YAFFS_BYTES_PER_BLOCK (YAFFS_CHUNKS_PER_BLOCK*YAFFS_BYTES_PER_CHUNK)
-#endif
#define YAFFS_MIN_YAFFS2_CHUNK_SIZE 1024
#define YAFFS_MIN_YAFFS2_SPARE_SIZE 32
@@ -119,12 +119,11 @@ struct yaffs_cache {
u8 *data;
};
-/* Tags structures in RAM
+/* yaffs1 tags structures in RAM
* NB This uses bitfield. Bitfields should not straddle a u32 boundary
* otherwise the structure size will get blown out.
*/
-#ifndef CONFIG_YAFFS_NO_YAFFS1
struct yaffs_tags {
unsigned chunk_id:20;
unsigned serial_number:2;
@@ -139,7 +138,6 @@ union yaffs_tags_union {
u8 as_bytes[8];
};
-#endif
/* Stuff used for extended tags in YAFFS2 */
@@ -284,10 +282,8 @@ struct yaffs_block_info {
failures on this block and tried to reuse it */
u32 has_summary:1; /* The block has a summary */
-#ifdef CONFIG_YAFFS_YAFFS2
u32 has_shrink_hdr:1; /* This block has at least one shrink header */
u32 seq_number; /* block sequence number for yaffs2 */
-#endif
};
@@ -436,9 +432,7 @@ struct yaffs_obj {
u32 yst_mode;
-#ifndef CONFIG_YAFFS_NO_SHORT_NAMES
YCHAR short_name[YAFFS_SHORT_NAME_LENGTH + 1];
-#endif
#ifdef CONFIG_YAFFS_WINCE
u32 win_ctime[2];
@@ -524,6 +518,7 @@ struct yaffs_param {
*/
int use_nand_ecc; /* Flag to decide whether or not to use
* NAND driver ECC on data (yaffs1) */
+ int tags_9bytes; /* Use 9 byte tags */
int no_tags_ecc; /* Flag to decide whether or not to do ECC
* on packed tags (yaffs2) */
@@ -551,7 +546,7 @@ struct yaffs_param {
int (*initialise_flash_fn) (struct yaffs_dev *dev);
int (*deinitialise_flash_fn) (struct yaffs_dev *dev);
-#ifdef CONFIG_YAFFS_YAFFS2
+ /* yaffs2 mode functions */
int (*write_chunk_tags_fn) (struct yaffs_dev *dev,
int nand_chunk, const u8 *data,
const struct yaffs_ext_tags *tags);
@@ -562,7 +557,6 @@ struct yaffs_param {
int (*query_block_fn) (struct yaffs_dev *dev, int block_no,
enum yaffs_block_state *state,
u32 *seq_number);
-#endif
/* The remove_obj_fn function must be supplied by OS flavours that
* need it.