diff -u -rN -p linux-2.6.10_rbtx49/fs/Kconfig linux-2.6.10_yaffs/fs/Kconfig
--- linux-2.6.10_rbtx49/fs/Kconfig	2005-04-22 19:58:53.000000000 +0900
+++ linux-2.6.10_yaffs/fs/Kconfig	2005-04-22 20:12:50.000000000 +0900
@@ -1276,6 +1276,117 @@ config JFFS2_CMODE_SIZE
 
 endchoice
 
+config YAFFS_FS
+	tristate "YAFFS support for NAND flash"
+	select CRC32
+	depends on MTD
+	default y
+	help
+	  YAFFS, for Yet Another Flash Filing System, is a filing system optimised
+	  for NAND Flash chips, which are increasingly cheap and widely used.
+	  It is a log-structured (Journalled) FS which automatically provides
+	  wear-levelling and robustness on power failure. It also scales well
+	  for large Flash chip sizes, in terms of boot time and RAM usage.
+
+config YAFFS_RAM_ENABLED
+	bool "YAFFS ram enable"
+	depends on YAFFS_FS
+	default n
+	help
+	  This adds the yaffsram file system support. Nice for testing on x86,
+	  but uses 2MB of RAM.
+	  Don't enable for NAND-based targets.
+
+config YAFFS_MTD_ENABLED
+	bool "YAFFS mtd enable"
+	depends on YAFFS_FS
+	default y
+	help
+	  This adds the yaffs file system support for working with a NAND mtd.
+
+config YAFFS_USE_OLD_MTD
+	bool "Use old mtd"
+	depends on YAFFS_FS
+	default n
+	help
+	  Enable this to use the old MTD stuff that did not have yaffs support.
+	  You can use this to get around compilation problems, but the best
+	  thing to do is to upgrade your MTD support. You will get better speed.
+
+config YAFFS_USE_NANDECC
+	bool "Use NANDECC"
+	depends on YAFFS_FS
+	default y
+	help
+	  This enables the ECC functions of the generic MTD-NAND driver.
+	  This will not work if you are using the old mtd.
+
+	  NB UseNANDECC does not work at present with yaffsram.
+
+config YAFFS_ECC_WRONG_ORDER
+	bool "ECC wrong order"
+	depends on YAFFS_FS
+	default n
+	help
+	  This makes yaffs_ecc.c use the same ecc byte order as
+	  Steven Hill's nand_ecc.c. If not set, then you get the
+	  same ecc byte order as SmartMedia.
+
+config YAFFS_USE_GENERIC_RW
+	bool "Use generic_read/generic_write for reading/writing files"
+	depends on YAFFS_FS
+	default y
+	help
+	  This enables the use of the Linux file caching layer.
+
+	  If you disable this, then caching is disabled and 
+	  file read/write is direct.
+
+config YAFFS_USE_HEADER_FILE_SIZE
+	bool "Use object header size"
+	depends on YAFFS_FS
+	default n
+	help
+	  When the flash is scanned, two file sizes are constructed:
+	  * The size taken from the object header for the file.
+	  * The size figured out by scanning the data chunks.
+	  If this option is enabled, then the object header size is used, 
+	  otherwise the scanned size is used.
+	  Suggest leaving this disabled.
+
+config YAFFS_DISABLE_CHUNK_ERASED_CHECK
+	bool "Disable chunk erased check"
+	depends on YAFFS_FS
+	default n
+	help
+	  Enabling this turns off the test that chunks are erased
+	  in flash before writing to them.
+	  this is safe, since the write verification will fail.
+	  Suggest enabling the test (ie. keep the following line commented)
+	  during development to help debug things.
+
+config YAFFS_DISABLE_WRITE_VERIFY
+	bool "Disable write verify"
+	depends on YAFFS_FS
+	default n
+	help
+	  Severely reluctant to provide this config. 
+	  Disabling the verification is not a good thing to do
+	  since NAND writes can fail silently.
+	  Disabling the write verification will cause your teeth to rot, 
+	  rats to eat your corn and give you split ends.
+	  You have been warned. ie. Don't uncomment the following line.
+
+config YAFFS_SHORT_NAMES_IN_RAM
+	bool "Short names in ram"
+	depends on YAFFS_FS
+	default y
+	help
+	  If this config is set, then short names are stored with
+	  the yaffs_Object.
+	  This costs an extra 16 bytes of RAM per object, 
+	  but makes look-ups faster.
+
 config CRAMFS
 	tristate "Compressed ROM file system support (cramfs)"
 	select ZLIB_INFLATE
diff -u -rN -p linux-2.6.10_rbtx49/fs/Makefile linux-2.6.10_yaffs/fs/Makefile
--- linux-2.6.10_rbtx49/fs/Makefile	2005-04-22 19:58:53.000000000 +0900
+++ linux-2.6.10_yaffs/fs/Makefile	2005-04-22 21:28:38.009888955 +0900
@@ -95,3 +95,5 @@ obj-$(CONFIG_AFS_FS)		+= afs/
 obj-$(CONFIG_BEFS_FS)		+= befs/
 obj-$(CONFIG_HOSTFS)		+= hostfs/
 obj-$(CONFIG_HPPFS)		+= hppfs/
+obj-$(CONFIG_YAFFS_FS)		+= yaffs/
+
diff -u -rN -p linux-2.6.10_rbtx49/fs/yaffs/Makefile linux-2.6.10_yaffs/fs/yaffs/Makefile
--- linux-2.6.10_rbtx49/fs/yaffs/Makefile	1970-01-01 09:00:00.000000000 +0900
+++ linux-2.6.10_yaffs/fs/yaffs/Makefile	2005-04-22 20:03:32.000000000 +0900
@@ -0,0 +1,7 @@
+#
+# Makefile for the linux yaffs routines.
+#
+
+obj-$(CONFIG_YAFFS_FS) += yaffs.o
+
+yaffs-objs := yaffs_fs.o yaffs_guts.o yaffs_ramem.o yaffs_mtdif.o yaffs_ecc.o
diff -u -rN -p linux-2.6.10_rbtx49/fs/yaffs/yaffs_ecc.c linux-2.6.10_yaffs/fs/yaffs/yaffs_ecc.c
--- linux-2.6.10_rbtx49/fs/yaffs/yaffs_ecc.c	2005-04-22 19:59:05.000000000 +0900
+++ linux-2.6.10_yaffs/fs/yaffs/yaffs_ecc.c	2005-04-22 20:03:32.000000000 +0900
@@ -31,7 +31,7 @@
 
 const char *yaffs_ecc_c_version = "$Id: yaffs_ecc.c,v 1.3 2004/04/04 03:47:02 charles Exp $";
 
-
+#include <linux/config.h>
 #include "yaffs_ecc.h"
 
 static const unsigned char column_parity_table[] = {
diff -u -rN -p linux-2.6.10_rbtx49/fs/yaffs/yaffs_guts.c linux-2.6.10_yaffs/fs/yaffs/yaffs_guts.c
--- linux-2.6.10_rbtx49/fs/yaffs/yaffs_guts.c	2005-04-22 19:59:05.000000000 +0900
+++ linux-2.6.10_yaffs/fs/yaffs/yaffs_guts.c	2005-04-22 20:03:32.000000000 +0900
@@ -15,7 +15,7 @@
  //yaffs_guts.c
 
 const char *yaffs_guts_c_version="$Id: yaffs_guts.c,v 1.40 2005/04/05 03:45:40 charles Exp $";
-
+#include <linux/config.h>
 #include "yportenv.h"
 
 #include "yaffsinterface.h"
diff -u -rN -p linux-2.6.10_rbtx49/fs/yaffs/yaffs_mtdif.c linux-2.6.10_yaffs/fs/yaffs/yaffs_mtdif.c
--- linux-2.6.10_rbtx49/fs/yaffs/yaffs_mtdif.c	2005-04-22 19:59:05.000000000 +0900
+++ linux-2.6.10_yaffs/fs/yaffs/yaffs_mtdif.c	2005-04-22 20:03:32.000000000 +0900
@@ -14,7 +14,7 @@
  */
 
 const char *yaffs_mtdif_c_version = "$Id: yaffs_mtdif.c,v 1.10 2004/09/19 08:14:50 charles Exp $";
-
+#include <linux/config.h>
 #ifdef CONFIG_YAFFS_MTD_ENABLED
  
 #include "yportenv.h"
diff -u -rN -p linux-2.6.10_rbtx49/fs/yaffs/yaffs_ramem.c linux-2.6.10_yaffs/fs/yaffs/yaffs_ramem.c
--- linux-2.6.10_rbtx49/fs/yaffs/yaffs_ramem.c	2005-04-22 19:59:05.000000000 +0900
+++ linux-2.6.10_yaffs/fs/yaffs/yaffs_ramem.c	2005-04-22 20:03:32.000000000 +0900
@@ -16,7 +16,7 @@
  // Since this creates the RAM block at start up it is pretty useless for testing the scanner.
 
 const char *yaffs_ramem_c_version = "$Id: yaffs_ramem.c,v 1.6 2002/11/26 01:15:37 charles Exp $";
-
+#include <linux/config.h>
 #ifndef __KERNEL__
 #define CONFIG_YAFFS_RAM_ENABLED
 #endif
