summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWaldemar Brodkorb <wbx@openadk.org>2010-01-31 11:11:47 +0100
committerWaldemar Brodkorb <wbx@openadk.org>2010-01-31 11:11:47 +0100
commit026459174c428d1262fc210df6a9a0dc2e1a0e77 (patch)
tree31272134f197d3a2f0246ac8bec4c8e056738d65
parentcae7454e8151e56da5f0b9f14a06fbcefe153a72 (diff)
parent2fa4540795dd446578256feac62c2c1ddf1c8602 (diff)
Merge branch 'master' of git+ssh://wbx@openadk.org/git/openadk
-rw-r--r--mk/rootfs.mk2
-rw-r--r--package/Config.in4
-rw-r--r--package/adkinstall/Makefile (renamed from package/cfinstall/Makefile)17
-rw-r--r--package/adkinstall/src/adkinstall (renamed from package/cfinstall/src/cfinstall)0
-rw-r--r--package/adkinstall/src/adkinstall.rb53278
-rw-r--r--package/cfgfs/Makefile4
-rw-r--r--package/parted/Makefile2
-rw-r--r--target/Config.in1
-rw-r--r--target/linux/config/Config.in.fs14
-rw-r--r--target/linux/config/Config.in.kernel26
-rw-r--r--target/linux/patches/2.6.32/yaffs2.patch218
-rw-r--r--target/rb532/TODO3
-rw-r--r--target/rb532/kernel.config101
13 files changed, 305 insertions, 165 deletions
diff --git a/mk/rootfs.mk b/mk/rootfs.mk
index 4db8b730d..1099a7fac 100644
--- a/mk/rootfs.mk
+++ b/mk/rootfs.mk
@@ -18,7 +18,7 @@ $(eval $(call rootfs_template,archive,ARCHIVE))
$(eval $(call rootfs_template,initramfs,INITRAMFS))
$(eval $(call rootfs_template,initramfs-piggyback,INITRAMFS_PIGGYBACK))
$(eval $(call rootfs_template,squashfs,SQUASHFS))
-$(eval $(call rootfs_template,yaffs,YAFFS))
+$(eval $(call rootfs_template,yaffs,YAFFS,root=/dev/mtdblock1))
$(eval $(call rootfs_template,nfsroot,NFSROOT,root=/dev/nfs ip=dhcp init=/init))
$(eval $(call rootfs_template,encrypted,ENCRYPTED))
diff --git a/package/Config.in b/package/Config.in
index 298a36152..31867be26 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -4,18 +4,18 @@
menu "Package selection"
menu "Basesystem"
+source "package/adkinstall/Config.in"
source "package/base-files/Config.in"
source "package/busybox/Config.in.manual"
source "package/cfgfs/Config.in"
-source "package/cfinstall/Config.in"
source "package/cryptinit/Config.in"
source "package/uclibc/Config.in.manual"
source "package/glibc/Config.in.manual"
source "package/eglibc/Config.in.manual"
source "package/libc/Config.in.manual"
-source "package/rpm/Config.in"
source "package/grub/Config.in"
source "package/grub-bin/Config.in"
+source "package/rpm/Config.in"
endmenu
menu "Bluetooth"
diff --git a/package/cfinstall/Makefile b/package/adkinstall/Makefile
index 94b423d83..d250a1e70 100644
--- a/package/cfinstall/Makefile
+++ b/package/adkinstall/Makefile
@@ -3,10 +3,10 @@
include ${TOPDIR}/rules.mk
-PKG_NAME:= cfinstall
+PKG_NAME:= adkinstall
PKG_VERSION:= 1.0
-PKG_RELEASE:= 2
-PKG_DESCR:= compact flash installer
+PKG_RELEASE:= 3
+PKG_DESCR:= installer for compact flash or nand/mtd devices
PKG_SECTION:= base
PKG_DEPENDS:= parted sfdisk
@@ -17,7 +17,7 @@ NO_DISTFILES:= 1
include ${TOPDIR}/mk/package.mk
-$(eval $(call PKG_template,CFINSTALL,${PKG_NAME},${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
+$(eval $(call PKG_template,ADKINSTALL,${PKG_NAME},${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
BUILD_STYLE:= manual
INSTALL_STYLE:= manual
@@ -26,7 +26,12 @@ pre-configure:
mkdir -p ${WRKBUILD}
do-install:
- ${INSTALL_DIR} $(IDIR_CFINSTALL)/sbin
- ${INSTALL_BIN} ./src/cfinstall $(IDIR_CFINSTALL)/sbin
+ ${INSTALL_DIR} $(IDIR_ADKINSTALL)/sbin
+ifeq ($(ADK_LINUX_MIPS_RB532),y)
+ ${INSTALL_BIN} ./src/adkinstall.rb532 \
+ $(IDIR_ADKINSTALL)/sbin/adkinstall
+else
+ ${INSTALL_BIN} ./src/adkinstall $(IDIR_ADKINSTALL)/sbin
+endif
include ${TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/cfinstall/src/cfinstall b/package/adkinstall/src/adkinstall
index 7e9a0d1ad..7e9a0d1ad 100644
--- a/package/cfinstall/src/cfinstall
+++ b/package/adkinstall/src/adkinstall
diff --git a/package/adkinstall/src/adkinstall.rb532 b/package/adkinstall/src/adkinstall.rb532
new file mode 100644
index 000000000..ca2ffde0d
--- /dev/null
+++ b/package/adkinstall/src/adkinstall.rb532
@@ -0,0 +1,78 @@
+#!/bin/sh
+# installs a rootfs tar archive from OpenADK onto
+# a Compact Flash disk or NAND device
+# special script for routerboard rb532
+
+nandinstall=0
+cfinstall=0
+
+if [ -z $1 ];then
+ printf "Please give your target device as first parameter [cf|nand]\n"
+ exit 1
+fi
+if [ -z $2 ];then
+ printf "Please give your root tar archive as second parameter\n"
+ exit 1
+fi
+if [ -z $3 ];then
+ printf "Please give your kernel as third parameter\n"
+ exit 1
+fi
+case $1 in
+ nand)
+ nandinstall=1
+ ;;
+ cf)
+ cfinstall=1
+ ;;
+ *)
+ printf "Target not recognized\n"
+ exit 1
+ ;;
+esac
+
+if [ $cfinstall -eq 1 ];then
+ # create empty partition table
+ printf "Creating partition scheme\n"
+ parted -s /dev/sda mklabel msdos
+ sleep 2
+ maxsize=$(env LC_ALL=C parted /dev/sda -s unit cyl print |awk '/^Disk/ { print $3 }'|sed -e 's/cyl//')
+ rootsize=$(($maxsize-2))
+ parted -s /dev/sda unit cyl mkpart primary ext2 0 1
+ parted -s /dev/sda unit cyl mkpartfs primary ext2 1 $rootsize
+ parted -s /dev/sda unit cyl mkpart primary fat32 $rootsize $maxsize
+ parted -s /dev/sda set 1 boot on
+ sfdisk --change-id /dev/sda 1 27 >/dev/null 2>&1
+ sfdisk --change-id /dev/sda 3 88 >/dev/null 2>&1
+ sleep 2
+ sync
+ printf "Installing kernel\n"
+ dd if=$3 of=/dev/sda1 bs=2048 >/dev/null 2>&1
+ sync
+ mount -t ext2 /dev/sda2 /mnt
+fi
+
+if [ $nandinstall -eq 1 ];then
+ printf "Installing kernel\n"
+ mount -t yaffs2 /dev/mtdblock0 /mnt
+ cp $3 /mnt/kernel
+ sync
+ umount /mnt
+ mount -t yaffs2 /dev/mtdblock1 /mnt
+ rm -rf /mnt/* >/dev/null 2>&1
+fi
+
+printf "Extracting install archive\n"
+tar -C /mnt -xzpf $2
+
+chmod 1777 /mnt/tmp
+chmod 4755 /mnt/bin/busybox
+
+printf "Creating device nodes\n"
+mknod -m 666 /mnt/dev/null c 1 3
+mknod -m 622 /mnt/dev/console c 5 1
+mknod -m 666 /mnt/dev/tty c 5 0
+
+umount /mnt
+printf "Successfully installed.\n"
+exit 0
diff --git a/package/cfgfs/Makefile b/package/cfgfs/Makefile
index 3d89f2072..806da3199 100644
--- a/package/cfgfs/Makefile
+++ b/package/cfgfs/Makefile
@@ -8,12 +8,12 @@ PKG_VERSION:= 1.0.6
PKG_RELEASE:= 5
PKG_DESCR:= compressed config filesystem
PKG_SECTION:= base
-PKG_TARGET_DEPENDS:= alix1c alix2d alix2d13 wrap foxboard ag241 rb532
+PKG_TARGET_DEPENDS:= alix wrap foxboard ag241 rb532
WRKDIST= ${WRKDIR}/${PKG_NAME}-${PKG_VERSION}
NO_DISTFILES:= 1
-CFLINE_CFGFS:= select BUSYBOX_COMM\n\tselect BUSYBOX_MD5SUM\n\tselect BUSYBOX_XARGS\n\tselect BUSYBOX_FEATURE_SORT_BIG\n\tdepends on !ADK_TARGET_ROOTFS_NFSROOT
+CFLINE_CFGFS:= select BUSYBOX_COMM\n\tselect BUSYBOX_MD5SUM\n\tselect BUSYBOX_XARGS\n\tselect BUSYBOX_FEATURE_SORT_BIG\n\tdepends on !ADK_TARGET_ROOTFS_NFSROOT\n\tdepends on !ADK_TARGET_ROOTFS_YAFFS
include ${TOPDIR}/mk/package.mk
diff --git a/package/parted/Makefile b/package/parted/Makefile
index b51fefd90..6323c875c 100644
--- a/package/parted/Makefile
+++ b/package/parted/Makefile
@@ -9,7 +9,7 @@ PKG_RELEASE:= 1
PKG_MD5SUM:= 055305bc7bcf472ce38f9abf69a9d94d
PKG_DESCR:= GNU parted
PKG_SECTION:= admin
-PKG_DEPENDS:= libuuid libreadline device-mapper
+PKG_DEPENDS:= libuuid libreadline device-mapper libpthread
PKG_BUILDDEP+= e2fsprogs lvm readline
PKG_URL:= http://www.gnu.org/software/parted/index.shtml
PKG_SITES:= ${MASTER_SITE_GNU:=parted/}
diff --git a/target/Config.in b/target/Config.in
index 7d7310421..cf229eb84 100644
--- a/target/Config.in
+++ b/target/Config.in
@@ -572,6 +572,7 @@ config ADK_LINUX_MIPS_RB532
select ADK_KERNEL_ATA
select ADK_KERNEL_BLK_DEV_SD
select ADK_KERNEL_SCSI
+ select ADK_KERNEL_EXT2_FS
select ADK_TARGET_WITH_MINIPCI
select ADK_TARGET_WITH_WATCHDOG
help
diff --git a/target/linux/config/Config.in.fs b/target/linux/config/Config.in.fs
index d533a3213..dc417c146 100644
--- a/target/linux/config/Config.in.fs
+++ b/target/linux/config/Config.in.fs
@@ -177,20 +177,6 @@ config ADK_KPACKAGE_KMOD_XFS_FS
for complete details. This implementation is on-disk compatible
with the IRIX version of XFS.
-#config ADK_KPACKAGE_KMOD_YAFFS_FS
-# prompt "kmod-fs-yaffs..................... YAFFS1/2 filesystem support"
-# tristate
-# default n
-# select ADK_KERNEL_YAFFS_FS
-# select ADK_KERNEL_YAFFS_YAFFS1
-# select ADK_KERNEL_YAFFS_YAFFS2
-# select ADK_KERNEL_YAFFS_AUTO_YAFFS2
-# select ADK_KERNEL_YAFFS_SHORT_NAMES_IN_RAM
-# help
-# Support for the YAFFS1 and YAFFS2 filesystems for the rb532 NAND
-# internal flash (for example). Say 'yes' here if you want to build
-# an initramfs for the Routerboard with access to internal flash.
-#
config ADK_KPACKAGE_KMOD_FUSE_FS
prompt "kmod-fs-fuse...................... Filesystem in Userspace support"
tristate
diff --git a/target/linux/config/Config.in.kernel b/target/linux/config/Config.in.kernel
index e61eb46df..abc7364df 100644
--- a/target/linux/config/Config.in.kernel
+++ b/target/linux/config/Config.in.kernel
@@ -87,29 +87,3 @@ config ADK_KERNEL_NFS_COMMON
config ADK_KERNEL_SUNRPC
boolean
default n
-
-#config ADK_KERNEL_YAFFS_FS
-# tristate
-# default n
-
-#config ADK_KERNEL_YAFFS_YAFFS1
-# boolean
-# default n
-
-#config ADK_KERNEL_YAFFS_YAFFS2
-# boolean
-# default n
-
-#config ADK_KERNEL_YAFFS_AUTO_YAFFS2
-# boolean
-# default n
-
-#config ADK_KERNEL_YAFFS_CHECKPOINT_RESERVED_BLOCKS
-# int
-# default 0
-
-#config ADK_KERNEL_YAFFS_SHORT_NAMES_IN_RAM
-# boolean
-# default n
-
-
diff --git a/target/linux/patches/2.6.32/yaffs2.patch b/target/linux/patches/2.6.32/yaffs2.patch
index a19ab9c84..d23ad0161 100644
--- a/target/linux/patches/2.6.32/yaffs2.patch
+++ b/target/linux/patches/2.6.32/yaffs2.patch
@@ -1,7 +1,7 @@
-diff -Nur linux-2.6.30.orig/fs/Kconfig linux-2.6.30/fs/Kconfig
---- linux-2.6.30.orig/fs/Kconfig 2009-06-10 05:05:27.000000000 +0200
-+++ linux-2.6.30/fs/Kconfig 2009-06-11 09:21:04.000000000 +0200
-@@ -162,6 +162,10 @@
+diff -Nur linux-2.6.32.orig/fs/Kconfig linux-2.6.32/fs/Kconfig
+--- linux-2.6.32.orig/fs/Kconfig 2009-12-03 04:51:21.000000000 +0100
++++ linux-2.6.32/fs/Kconfig 2010-01-30 20:35:00.921899692 +0100
+@@ -174,6 +174,10 @@
source "fs/befs/Kconfig"
source "fs/bfs/Kconfig"
source "fs/efs/Kconfig"
@@ -12,17 +12,17 @@ diff -Nur linux-2.6.30.orig/fs/Kconfig linux-2.6.30/fs/Kconfig
source "fs/jffs2/Kconfig"
# UBIFS File system configuration
source "fs/ubifs/Kconfig"
-diff -Nur linux-2.6.30.orig/fs/Makefile linux-2.6.30/fs/Makefile
---- linux-2.6.30.orig/fs/Makefile 2009-06-10 05:05:27.000000000 +0200
-+++ linux-2.6.30/fs/Makefile 2009-06-11 09:21:31.000000000 +0200
+diff -Nur linux-2.6.32.orig/fs/Makefile linux-2.6.32/fs/Makefile
+--- linux-2.6.32.orig/fs/Makefile 2009-12-03 04:51:21.000000000 +0100
++++ linux-2.6.32/fs/Makefile 2010-01-30 20:35:00.933084814 +0100
@@ -124,3 +124,4 @@
obj-$(CONFIG_BTRFS_FS) += btrfs/
obj-$(CONFIG_GFS2_FS) += gfs2/
obj-$(CONFIG_EXOFS_FS) += exofs/
+obj-$(CONFIG_YAFFS_FS) += yaffs2/
-diff -Nur linux-2.6.30.orig/fs/Makefile.pre.yaffs linux-2.6.30/fs/Makefile.pre.yaffs
---- linux-2.6.30.orig/fs/Makefile.pre.yaffs 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.30/fs/Makefile.pre.yaffs 2009-06-11 09:21:04.000000000 +0200
+diff -Nur linux-2.6.32.orig/fs/Makefile.pre.yaffs linux-2.6.32/fs/Makefile.pre.yaffs
+--- linux-2.6.32.orig/fs/Makefile.pre.yaffs 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.32/fs/Makefile.pre.yaffs 2010-01-30 20:35:00.983076819 +0100
@@ -0,0 +1,126 @@
+#
+# Makefile for the Linux filesystems.
@@ -150,9 +150,9 @@ diff -Nur linux-2.6.30.orig/fs/Makefile.pre.yaffs linux-2.6.30/fs/Makefile.pre.y
+obj-$(CONFIG_OCFS2_FS) += ocfs2/
+obj-$(CONFIG_BTRFS_FS) += btrfs/
+obj-$(CONFIG_GFS2_FS) += gfs2/
-diff -Nur linux-2.6.30.orig/fs/yaffs2/devextras.h linux-2.6.30/fs/yaffs2/devextras.h
---- linux-2.6.30.orig/fs/yaffs2/devextras.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.30/fs/yaffs2/devextras.h 2009-06-11 09:21:04.000000000 +0200
+diff -Nur linux-2.6.32.orig/fs/yaffs2/devextras.h linux-2.6.32/fs/yaffs2/devextras.h
+--- linux-2.6.32.orig/fs/yaffs2/devextras.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.32/fs/yaffs2/devextras.h 2010-01-30 20:35:01.021829008 +0100
@@ -0,0 +1,196 @@
+/*
+ * YAFFS: Yet another Flash File System . A NAND-flash specific file system.
@@ -350,9 +350,9 @@ diff -Nur linux-2.6.30.orig/fs/yaffs2/devextras.h linux-2.6.30/fs/yaffs2/devextr
+
+
+#endif
-diff -Nur linux-2.6.30.orig/fs/yaffs2/Kconfig linux-2.6.30/fs/yaffs2/Kconfig
---- linux-2.6.30.orig/fs/yaffs2/Kconfig 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.30/fs/yaffs2/Kconfig 2009-06-11 09:21:04.000000000 +0200
+diff -Nur linux-2.6.32.orig/fs/yaffs2/Kconfig linux-2.6.32/fs/yaffs2/Kconfig
+--- linux-2.6.32.orig/fs/yaffs2/Kconfig 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.32/fs/yaffs2/Kconfig 2010-01-30 20:35:01.053081300 +0100
@@ -0,0 +1,156 @@
+#
+# YAFFS file system configurations
@@ -510,9 +510,9 @@ diff -Nur linux-2.6.30.orig/fs/yaffs2/Kconfig linux-2.6.30/fs/yaffs2/Kconfig
+ but makes look-ups faster.
+
+ If unsure, say Y.
-diff -Nur linux-2.6.30.orig/fs/yaffs2/Makefile linux-2.6.30/fs/yaffs2/Makefile
---- linux-2.6.30.orig/fs/yaffs2/Makefile 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.30/fs/yaffs2/Makefile 2009-06-11 09:21:04.000000000 +0200
+diff -Nur linux-2.6.32.orig/fs/yaffs2/Makefile linux-2.6.32/fs/yaffs2/Makefile
+--- linux-2.6.32.orig/fs/yaffs2/Makefile 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.32/fs/yaffs2/Makefile 2010-01-30 20:35:01.093074881 +0100
@@ -0,0 +1,10 @@
+#
+# Makefile for the linux YAFFS filesystem routines.
@@ -524,9 +524,9 @@ diff -Nur linux-2.6.30.orig/fs/yaffs2/Makefile linux-2.6.30/fs/yaffs2/Makefile
+yaffs-y += yaffs_packedtags1.o yaffs_packedtags2.o yaffs_nand.o yaffs_qsort.o
+yaffs-y += yaffs_tagscompat.o yaffs_tagsvalidity.o
+yaffs-y += yaffs_mtdif.o yaffs_mtdif1.o yaffs_mtdif2.o
-diff -Nur linux-2.6.30.orig/fs/yaffs2/moduleconfig.h linux-2.6.30/fs/yaffs2/moduleconfig.h
---- linux-2.6.30.orig/fs/yaffs2/moduleconfig.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.30/fs/yaffs2/moduleconfig.h 2009-06-11 09:21:04.000000000 +0200
+diff -Nur linux-2.6.32.orig/fs/yaffs2/moduleconfig.h linux-2.6.32/fs/yaffs2/moduleconfig.h
+--- linux-2.6.32.orig/fs/yaffs2/moduleconfig.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.32/fs/yaffs2/moduleconfig.h 2010-01-30 20:35:01.131828051 +0100
@@ -0,0 +1,65 @@
+/*
+ * YAFFS: Yet another Flash File System . A NAND-flash specific file system.
@@ -593,9 +593,9 @@ diff -Nur linux-2.6.30.orig/fs/yaffs2/moduleconfig.h linux-2.6.30/fs/yaffs2/modu
+#endif /* YAFFS_OUT_OF_TREE */
+
+#endif /* __YAFFS_CONFIG_H__ */
-diff -Nur linux-2.6.30.orig/fs/yaffs2/yaffs_checkptrw.c linux-2.6.30/fs/yaffs2/yaffs_checkptrw.c
---- linux-2.6.30.orig/fs/yaffs2/yaffs_checkptrw.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.30/fs/yaffs2/yaffs_checkptrw.c 2009-06-11 09:21:04.000000000 +0200
+diff -Nur linux-2.6.32.orig/fs/yaffs2/yaffs_checkptrw.c linux-2.6.32/fs/yaffs2/yaffs_checkptrw.c
+--- linux-2.6.32.orig/fs/yaffs2/yaffs_checkptrw.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.32/fs/yaffs2/yaffs_checkptrw.c 2010-01-30 20:35:01.171829690 +0100
@@ -0,0 +1,394 @@
+/*
+ * YAFFS: Yet Another Flash File System. A NAND-flash specific file system.
@@ -991,9 +991,9 @@ diff -Nur linux-2.6.30.orig/fs/yaffs2/yaffs_checkptrw.c linux-2.6.30/fs/yaffs2/y
+
+
+
-diff -Nur linux-2.6.30.orig/fs/yaffs2/yaffs_checkptrw.h linux-2.6.30/fs/yaffs2/yaffs_checkptrw.h
---- linux-2.6.30.orig/fs/yaffs2/yaffs_checkptrw.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.30/fs/yaffs2/yaffs_checkptrw.h 2009-06-11 09:21:04.000000000 +0200
+diff -Nur linux-2.6.32.orig/fs/yaffs2/yaffs_checkptrw.h linux-2.6.32/fs/yaffs2/yaffs_checkptrw.h
+--- linux-2.6.32.orig/fs/yaffs2/yaffs_checkptrw.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.32/fs/yaffs2/yaffs_checkptrw.h 2010-01-30 20:35:01.213084831 +0100
@@ -0,0 +1,35 @@
+/*
+ * YAFFS: Yet another Flash File System . A NAND-flash specific file system.
@@ -1030,9 +1030,9 @@ diff -Nur linux-2.6.30.orig/fs/yaffs2/yaffs_checkptrw.h linux-2.6.30/fs/yaffs2/y
+
+#endif
+
-diff -Nur linux-2.6.30.orig/fs/yaffs2/yaffs_ecc.c linux-2.6.30/fs/yaffs2/yaffs_ecc.c
---- linux-2.6.30.orig/fs/yaffs2/yaffs_ecc.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.30/fs/yaffs2/yaffs_ecc.c 2009-06-11 09:21:04.000000000 +0200
+diff -Nur linux-2.6.32.orig/fs/yaffs2/yaffs_ecc.c linux-2.6.32/fs/yaffs2/yaffs_ecc.c
+--- linux-2.6.32.orig/fs/yaffs2/yaffs_ecc.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.32/fs/yaffs2/yaffs_ecc.c 2010-01-30 20:35:01.251829837 +0100
@@ -0,0 +1,326 @@
+/*
+ * YAFFS: Yet Another Flash File System. A NAND-flash specific file system.
@@ -1360,9 +1360,9 @@ diff -Nur linux-2.6.30.orig/fs/yaffs2/yaffs_ecc.c linux-2.6.30/fs/yaffs2/yaffs_e
+
+ return -1;
+}
-diff -Nur linux-2.6.30.orig/fs/yaffs2/yaffs_ecc.h linux-2.6.30/fs/yaffs2/yaffs_ecc.h
---- linux-2.6.30.orig/fs/yaffs2/yaffs_ecc.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.30/fs/yaffs2/yaffs_ecc.h 2009-06-11 09:21:04.000000000 +0200
+diff -Nur linux-2.6.32.orig/fs/yaffs2/yaffs_ecc.h linux-2.6.32/fs/yaffs2/yaffs_ecc.h
+--- linux-2.6.32.orig/fs/yaffs2/yaffs_ecc.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.32/fs/yaffs2/yaffs_ecc.h 2010-01-30 20:35:01.292693842 +0100
@@ -0,0 +1,44 @@
+/*
+ * YAFFS: Yet another Flash File System . A NAND-flash specific file system.
@@ -1408,9 +1408,9 @@ diff -Nur linux-2.6.30.orig/fs/yaffs2/yaffs_ecc.h linux-2.6.30/fs/yaffs2/yaffs_e
+ yaffs_ECCOther *read_ecc,
+ const yaffs_ECCOther *test_ecc);
+#endif
-diff -Nur linux-2.6.30.orig/fs/yaffs2/yaffs_fs.c linux-2.6.30/fs/yaffs2/yaffs_fs.c
---- linux-2.6.30.orig/fs/yaffs2/yaffs_fs.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.30/fs/yaffs2/yaffs_fs.c 2009-06-11 09:21:04.000000000 +0200
+diff -Nur linux-2.6.32.orig/fs/yaffs2/yaffs_fs.c linux-2.6.32/fs/yaffs2/yaffs_fs.c
+--- linux-2.6.32.orig/fs/yaffs2/yaffs_fs.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.32/fs/yaffs2/yaffs_fs.c 2010-01-30 20:35:01.331845579 +0100
@@ -0,0 +1,2529 @@
+/*
+ * YAFFS: Yet Another Flash File System. A NAND-flash specific file system.
@@ -3941,9 +3941,9 @@ diff -Nur linux-2.6.30.orig/fs/yaffs2/yaffs_fs.c linux-2.6.30/fs/yaffs2/yaffs_fs
+MODULE_DESCRIPTION("YAFFS2 - a NAND specific flash file system");
+MODULE_AUTHOR("Charles Manning, Aleph One Ltd., 2002-2006");
+MODULE_LICENSE("GPL");
-diff -Nur linux-2.6.30.orig/fs/yaffs2/yaffs_getblockinfo.h linux-2.6.30/fs/yaffs2/yaffs_getblockinfo.h
---- linux-2.6.30.orig/fs/yaffs2/yaffs_getblockinfo.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.30/fs/yaffs2/yaffs_getblockinfo.h 2009-06-11 09:21:04.000000000 +0200
+diff -Nur linux-2.6.32.orig/fs/yaffs2/yaffs_getblockinfo.h linux-2.6.32/fs/yaffs2/yaffs_getblockinfo.h
+--- linux-2.6.32.orig/fs/yaffs2/yaffs_getblockinfo.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.32/fs/yaffs2/yaffs_getblockinfo.h 2010-01-30 20:35:01.373074589 +0100
@@ -0,0 +1,34 @@
+/*
+ * YAFFS: Yet another Flash File System . A NAND-flash specific file system.
@@ -3979,9 +3979,9 @@ diff -Nur linux-2.6.30.orig/fs/yaffs2/yaffs_getblockinfo.h linux-2.6.30/fs/yaffs
+}
+
+#endif
-diff -Nur linux-2.6.30.orig/fs/yaffs2/yaffs_guts.c linux-2.6.30/fs/yaffs2/yaffs_guts.c
---- linux-2.6.30.orig/fs/yaffs2/yaffs_guts.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.30/fs/yaffs2/yaffs_guts.c 2009-06-11 09:21:04.000000000 +0200
+diff -Nur linux-2.6.32.orig/fs/yaffs2/yaffs_guts.c linux-2.6.32/fs/yaffs2/yaffs_guts.c
+--- linux-2.6.32.orig/fs/yaffs2/yaffs_guts.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.32/fs/yaffs2/yaffs_guts.c 2010-01-30 20:35:01.393075518 +0100
@@ -0,0 +1,7552 @@
+/*
+ * YAFFS: Yet Another Flash File System. A NAND-flash specific file system.
@@ -11535,9 +11535,9 @@ diff -Nur linux-2.6.30.orig/fs/yaffs2/yaffs_guts.c linux-2.6.30/fs/yaffs2/yaffs_
+#endif
+ return YAFFS_OK;
+}
-diff -Nur linux-2.6.30.orig/fs/yaffs2/yaffs_guts.h linux-2.6.30/fs/yaffs2/yaffs_guts.h
---- linux-2.6.30.orig/fs/yaffs2/yaffs_guts.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.30/fs/yaffs2/yaffs_guts.h 2009-06-11 09:21:04.000000000 +0200
+diff -Nur linux-2.6.32.orig/fs/yaffs2/yaffs_guts.h linux-2.6.32/fs/yaffs2/yaffs_guts.h
+--- linux-2.6.32.orig/fs/yaffs2/yaffs_guts.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.32/fs/yaffs2/yaffs_guts.h 2010-01-30 20:35:01.441990129 +0100
@@ -0,0 +1,904 @@
+/*
+ * YAFFS: Yet another Flash File System . A NAND-flash specific file system.
@@ -12443,9 +12443,9 @@ diff -Nur linux-2.6.30.orig/fs/yaffs2/yaffs_guts.h linux-2.6.30/fs/yaffs2/yaffs_
+void yaffs_ReleaseTempBuffer(yaffs_Device *dev, __u8 *buffer, int lineNo);
+
+#endif
-diff -Nur linux-2.6.30.orig/fs/yaffs2/yaffsinterface.h linux-2.6.30/fs/yaffs2/yaffsinterface.h
---- linux-2.6.30.orig/fs/yaffs2/yaffsinterface.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.30/fs/yaffs2/yaffsinterface.h 2009-06-11 09:21:04.000000000 +0200
+diff -Nur linux-2.6.32.orig/fs/yaffs2/yaffsinterface.h linux-2.6.32/fs/yaffs2/yaffsinterface.h
+--- linux-2.6.32.orig/fs/yaffs2/yaffsinterface.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.32/fs/yaffs2/yaffsinterface.h 2010-01-30 20:35:01.492020092 +0100
@@ -0,0 +1,21 @@
+/*
+ * YAFFS: Yet another Flash File System . A NAND-flash specific file system.
@@ -12468,9 +12468,9 @@ diff -Nur linux-2.6.30.orig/fs/yaffs2/yaffsinterface.h linux-2.6.30/fs/yaffs2/ya
+int yaffs_Initialise(unsigned nBlocks);
+
+#endif
-diff -Nur linux-2.6.30.orig/fs/yaffs2/yaffs_mtdif1.c linux-2.6.30/fs/yaffs2/yaffs_mtdif1.c
---- linux-2.6.30.orig/fs/yaffs2/yaffs_mtdif1.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.30/fs/yaffs2/yaffs_mtdif1.c 2009-06-11 09:21:04.000000000 +0200
+diff -Nur linux-2.6.32.orig/fs/yaffs2/yaffs_mtdif1.c linux-2.6.32/fs/yaffs2/yaffs_mtdif1.c
+--- linux-2.6.32.orig/fs/yaffs2/yaffs_mtdif1.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.32/fs/yaffs2/yaffs_mtdif1.c 2010-01-30 20:35:01.534033438 +0100
@@ -0,0 +1,365 @@
+/*
+ * YAFFS: Yet another FFS. A NAND-flash specific file system.
@@ -12837,9 +12837,9 @@ diff -Nur linux-2.6.30.orig/fs/yaffs2/yaffs_mtdif1.c linux-2.6.30/fs/yaffs2/yaff
+}
+
+#endif /*MTD_VERSION*/
-diff -Nur linux-2.6.30.orig/fs/yaffs2/yaffs_mtdif1.h linux-2.6.30/fs/yaffs2/yaffs_mtdif1.h
---- linux-2.6.30.orig/fs/yaffs2/yaffs_mtdif1.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.30/fs/yaffs2/yaffs_mtdif1.h 2009-06-11 09:21:04.000000000 +0200
+diff -Nur linux-2.6.32.orig/fs/yaffs2/yaffs_mtdif1.h linux-2.6.32/fs/yaffs2/yaffs_mtdif1.h
+--- linux-2.6.32.orig/fs/yaffs2/yaffs_mtdif1.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.32/fs/yaffs2/yaffs_mtdif1.h 2010-01-30 20:35:01.572068025 +0100
@@ -0,0 +1,28 @@
+/*
+ * YAFFS: Yet another Flash File System. A NAND-flash specific file system.
@@ -12869,9 +12869,9 @@ diff -Nur linux-2.6.30.orig/fs/yaffs2/yaffs_mtdif1.h linux-2.6.30/fs/yaffs2/yaff
+ yaffs_BlockState *state, __u32 *sequenceNumber);
+
+#endif
-diff -Nur linux-2.6.30.orig/fs/yaffs2/yaffs_mtdif2.c linux-2.6.30/fs/yaffs2/yaffs_mtdif2.c
---- linux-2.6.30.orig/fs/yaffs2/yaffs_mtdif2.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.30/fs/yaffs2/yaffs_mtdif2.c 2009-06-11 09:21:04.000000000 +0200
+diff -Nur linux-2.6.32.orig/fs/yaffs2/yaffs_mtdif2.c linux-2.6.32/fs/yaffs2/yaffs_mtdif2.c
+--- linux-2.6.32.orig/fs/yaffs2/yaffs_mtdif2.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.32/fs/yaffs2/yaffs_mtdif2.c 2010-01-30 20:35:01.611828597 +0100
@@ -0,0 +1,246 @@
+/*
+ * YAFFS: Yet Another Flash File System. A NAND-flash specific file system.
@@ -13119,9 +13119,9 @@ diff -Nur linux-2.6.30.orig/fs/yaffs2/yaffs_mtdif2.c linux-2.6.30/fs/yaffs2/yaff
+ return YAFFS_FAIL;
+}
+
-diff -Nur linux-2.6.30.orig/fs/yaffs2/yaffs_mtdif2.h linux-2.6.30/fs/yaffs2/yaffs_mtdif2.h
---- linux-2.6.30.orig/fs/yaffs2/yaffs_mtdif2.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.30/fs/yaffs2/yaffs_mtdif2.h 2009-06-11 09:21:04.000000000 +0200
+diff -Nur linux-2.6.32.orig/fs/yaffs2/yaffs_mtdif2.h linux-2.6.32/fs/yaffs2/yaffs_mtdif2.h
+--- linux-2.6.32.orig/fs/yaffs2/yaffs_mtdif2.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.32/fs/yaffs2/yaffs_mtdif2.h 2010-01-30 20:35:01.663084824 +0100
@@ -0,0 +1,29 @@
+/*
+ * YAFFS: Yet another Flash File System . A NAND-flash specific file system.
@@ -13152,9 +13152,9 @@ diff -Nur linux-2.6.30.orig/fs/yaffs2/yaffs_mtdif2.h linux-2.6.30/fs/yaffs2/yaff
+ yaffs_BlockState *state, __u32 *sequenceNumber);
+
+#endif
-diff -Nur linux-2.6.30.orig/fs/yaffs2/yaffs_mtdif.c linux-2.6.30/fs/yaffs2/yaffs_mtdif.c
---- linux-2.6.30.orig/fs/yaffs2/yaffs_mtdif.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.30/fs/yaffs2/yaffs_mtdif.c 2009-06-11 09:21:04.000000000 +0200
+diff -Nur linux-2.6.32.orig/fs/yaffs2/yaffs_mtdif.c linux-2.6.32/fs/yaffs2/yaffs_mtdif.c
+--- linux-2.6.32.orig/fs/yaffs2/yaffs_mtdif.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.32/fs/yaffs2/yaffs_mtdif.c 2010-01-30 20:35:01.701828807 +0100
@@ -0,0 +1,241 @@
+/*
+ * YAFFS: Yet Another Flash File System. A NAND-flash specific file system.
@@ -13397,9 +13397,9 @@ diff -Nur linux-2.6.30.orig/fs/yaffs2/yaffs_mtdif.c linux-2.6.30/fs/yaffs2/yaffs
+ return YAFFS_OK;
+}
+
-diff -Nur linux-2.6.30.orig/fs/yaffs2/yaffs_mtdif.h linux-2.6.30/fs/yaffs2/yaffs_mtdif.h
---- linux-2.6.30.orig/fs/yaffs2/yaffs_mtdif.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.30/fs/yaffs2/yaffs_mtdif.h 2009-06-11 09:21:04.000000000 +0200
+diff -Nur linux-2.6.32.orig/fs/yaffs2/yaffs_mtdif.h linux-2.6.32/fs/yaffs2/yaffs_mtdif.h
+--- linux-2.6.32.orig/fs/yaffs2/yaffs_mtdif.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.32/fs/yaffs2/yaffs_mtdif.h 2010-01-30 20:35:01.733074983 +0100
@@ -0,0 +1,32 @@
+/*
+ * YAFFS: Yet another Flash File System . A NAND-flash specific file system.
@@ -13433,9 +13433,9 @@ diff -Nur linux-2.6.30.orig/fs/yaffs2/yaffs_mtdif.h linux-2.6.30/fs/yaffs2/yaffs
+int nandmtd_EraseBlockInNAND(yaffs_Device *dev, int blockNumber);
+int nandmtd_InitialiseNAND(yaffs_Device *dev);
+#endif
-diff -Nur linux-2.6.30.orig/fs/yaffs2/yaffs_nand.c linux-2.6.30/fs/yaffs2/yaffs_nand.c
---- linux-2.6.30.orig/fs/yaffs2/yaffs_nand.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.30/fs/yaffs2/yaffs_nand.c 2009-06-11 09:21:04.000000000 +0200
+diff -Nur linux-2.6.32.orig/fs/yaffs2/yaffs_nand.c linux-2.6.32/fs/yaffs2/yaffs_nand.c
+--- linux-2.6.32.orig/fs/yaffs2/yaffs_nand.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.32/fs/yaffs2/yaffs_nand.c 2010-01-30 20:35:01.771938289 +0100
@@ -0,0 +1,135 @@
+/*
+ * YAFFS: Yet Another Flash File System. A NAND-flash specific file system.
@@ -13572,9 +13572,9 @@ diff -Nur linux-2.6.30.orig/fs/yaffs2/yaffs_nand.c linux-2.6.30/fs/yaffs2/yaffs_
+
+
+
-diff -Nur linux-2.6.30.orig/fs/yaffs2/yaffs_nandemul2k.h linux-2.6.30/fs/yaffs2/yaffs_nandemul2k.h
---- linux-2.6.30.orig/fs/yaffs2/yaffs_nandemul2k.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.30/fs/yaffs2/yaffs_nandemul2k.h 2009-06-11 09:21:04.000000000 +0200
+diff -Nur linux-2.6.32.orig/fs/yaffs2/yaffs_nandemul2k.h linux-2.6.32/fs/yaffs2/yaffs_nandemul2k.h
+--- linux-2.6.32.orig/fs/yaffs2/yaffs_nandemul2k.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.32/fs/yaffs2/yaffs_nandemul2k.h 2010-01-30 20:35:01.811826092 +0100
@@ -0,0 +1,39 @@
+/*
+ * YAFFS: Yet another Flash File System . A NAND-flash specific file system.
@@ -13615,9 +13615,9 @@ diff -Nur linux-2.6.30.orig/fs/yaffs2/yaffs_nandemul2k.h linux-2.6.30/fs/yaffs2/
+int nandemul2k_GetNumberOfBlocks(void);
+
+#endif
-diff -Nur linux-2.6.30.orig/fs/yaffs2/yaffs_nand.h linux-2.6.30/fs/yaffs2/yaffs_nand.h
---- linux-2.6.30.orig/fs/yaffs2/yaffs_nand.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.30/fs/yaffs2/yaffs_nand.h 2009-06-11 09:21:04.000000000 +0200
+diff -Nur linux-2.6.32.orig/fs/yaffs2/yaffs_nand.h linux-2.6.32/fs/yaffs2/yaffs_nand.h
+--- linux-2.6.32.orig/fs/yaffs2/yaffs_nand.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.32/fs/yaffs2/yaffs_nand.h 2010-01-30 20:35:01.851862979 +0100
@@ -0,0 +1,44 @@
+/*
+ * YAFFS: Yet another Flash File System . A NAND-flash specific file system.
@@ -13663,9 +13663,9 @@ diff -Nur linux-2.6.30.orig/fs/yaffs2/yaffs_nand.h linux-2.6.30/fs/yaffs2/yaffs_
+
+#endif
+
-diff -Nur linux-2.6.30.orig/fs/yaffs2/yaffs_packedtags1.c linux-2.6.30/fs/yaffs2/yaffs_packedtags1.c
---- linux-2.6.30.orig/fs/yaffs2/yaffs_packedtags1.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.30/fs/yaffs2/yaffs_packedtags1.c 2009-06-11 09:21:04.000000000 +0200
+diff -Nur linux-2.6.32.orig/fs/yaffs2/yaffs_packedtags1.c linux-2.6.32/fs/yaffs2/yaffs_packedtags1.c
+--- linux-2.6.32.orig/fs/yaffs2/yaffs_packedtags1.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.32/fs/yaffs2/yaffs_packedtags1.c 2010-01-30 20:35:01.902201298 +0100
@@ -0,0 +1,50 @@
+/*
+ * YAFFS: Yet Another Flash File System. A NAND-flash specific file system.
@@ -13717,9 +13717,9 @@ diff -Nur linux-2.6.30.orig/fs/yaffs2/yaffs_packedtags1.c linux-2.6.30/fs/yaffs2
+ memset(t, 0, sizeof(yaffs_ExtendedTags));
+ }
+}
-diff -Nur linux-2.6.30.orig/fs/yaffs2/yaffs_packedtags1.h linux-2.6.30/fs/yaffs2/yaffs_packedtags1.h
---- linux-2.6.30.orig/fs/yaffs2/yaffs_packedtags1.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.30/fs/yaffs2/yaffs_packedtags1.h 2009-06-11 09:21:04.000000000 +0200
+diff -Nur linux-2.6.32.orig/fs/yaffs2/yaffs_packedtags1.h linux-2.6.32/fs/yaffs2/yaffs_packedtags1.h
+--- linux-2.6.32.orig/fs/yaffs2/yaffs_packedtags1.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.32/fs/yaffs2/yaffs_packedtags1.h 2010-01-30 20:35:01.951826961 +0100
@@ -0,0 +1,37 @@
+/*
+ * YAFFS: Yet another Flash File System . A NAND-flash specific file system.
@@ -13758,9 +13758,9 @@ diff -Nur linux-2.6.30.orig/fs/yaffs2/yaffs_packedtags1.h linux-2.6.30/fs/yaffs2
+void yaffs_PackTags1(yaffs_PackedTags1 *pt, const yaffs_ExtendedTags *t);
+void yaffs_UnpackTags1(yaffs_ExtendedTags *t, const yaffs_PackedTags1 *pt);
+#endif
-diff -Nur linux-2.6.30.orig/fs/yaffs2/yaffs_packedtags2.c linux-2.6.30/fs/yaffs2/yaffs_packedtags2.c
---- linux-2.6.30.orig/fs/yaffs2/yaffs_packedtags2.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.30/fs/yaffs2/yaffs_packedtags2.c 2009-06-11 09:21:04.000000000 +0200
+diff -Nur linux-2.6.32.orig/fs/yaffs2/yaffs_packedtags2.c linux-2.6.32/fs/yaffs2/yaffs_packedtags2.c
+--- linux-2.6.32.orig/fs/yaffs2/yaffs_packedtags2.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.32/fs/yaffs2/yaffs_packedtags2.c 2010-01-30 20:35:01.991823846 +0100
@@ -0,0 +1,206 @@
+/*
+ * YAFFS: Yet Another Flash File System. A NAND-flash specific file system.
@@ -13968,9 +13968,9 @@ diff -Nur linux-2.6.30.orig/fs/yaffs2/yaffs_packedtags2.c linux-2.6.30/fs/yaffs2
+
+}
+
-diff -Nur linux-2.6.30.orig/fs/yaffs2/yaffs_packedtags2.h linux-2.6.30/fs/yaffs2/yaffs_packedtags2.h
---- linux-2.6.30.orig/fs/yaffs2/yaffs_packedtags2.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.30/fs/yaffs2/yaffs_packedtags2.h 2009-06-11 09:21:04.000000000 +0200
+diff -Nur linux-2.6.32.orig/fs/yaffs2/yaffs_packedtags2.h linux-2.6.32/fs/yaffs2/yaffs_packedtags2.h
+--- linux-2.6.32.orig/fs/yaffs2/yaffs_packedtags2.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.32/fs/yaffs2/yaffs_packedtags2.h 2010-01-30 20:35:02.031973375 +0100
@@ -0,0 +1,43 @@
+/*
+ * YAFFS: Yet another Flash File System . A NAND-flash specific file system.
@@ -14015,9 +14015,9 @@ diff -Nur linux-2.6.30.orig/fs/yaffs2/yaffs_packedtags2.h linux-2.6.30/fs/yaffs2
+void yaffs_PackTags2TagsPart(yaffs_PackedTags2TagsPart *pt, const yaffs_ExtendedTags *t);
+void yaffs_UnpackTags2TagsPart(yaffs_ExtendedTags *t, yaffs_PackedTags2TagsPart *pt);
+#endif
-diff -Nur linux-2.6.30.orig/fs/yaffs2/yaffs_qsort.c linux-2.6.30/fs/yaffs2/yaffs_qsort.c
---- linux-2.6.30.orig/fs/yaffs2/yaffs_qsort.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.30/fs/yaffs2/yaffs_qsort.c 2009-06-11 09:21:04.000000000 +0200
+diff -Nur linux-2.6.32.orig/fs/yaffs2/yaffs_qsort.c linux-2.6.32/fs/yaffs2/yaffs_qsort.c
+--- linux-2.6.32.orig/fs/yaffs2/yaffs_qsort.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.32/fs/yaffs2/yaffs_qsort.c 2010-01-30 20:35:02.071829765 +0100
@@ -0,0 +1,163 @@
+/*
+ * Copyright (c) 1992, 1993
@@ -14182,9 +14182,9 @@ diff -Nur linux-2.6.30.orig/fs/yaffs2/yaffs_qsort.c linux-2.6.30/fs/yaffs2/yaffs
+ }
+/* yaffs_qsort(pn - r, r / es, es, cmp);*/
+}
-diff -Nur linux-2.6.30.orig/fs/yaffs2/yaffs_qsort.h linux-2.6.30/fs/yaffs2/yaffs_qsort.h
---- linux-2.6.30.orig/fs/yaffs2/yaffs_qsort.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.30/fs/yaffs2/yaffs_qsort.h 2009-06-11 09:21:04.000000000 +0200
+diff -Nur linux-2.6.32.orig/fs/yaffs2/yaffs_qsort.h linux-2.6.32/fs/yaffs2/yaffs_qsort.h
+--- linux-2.6.32.orig/fs/yaffs2/yaffs_qsort.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.32/fs/yaffs2/yaffs_qsort.h 2010-01-30 20:35:02.131826281 +0100
@@ -0,0 +1,23 @@
+/*
+ * YAFFS: Yet another Flash File System . A NAND-flash specific file system.
@@ -14209,9 +14209,9 @@ diff -Nur linux-2.6.30.orig/fs/yaffs2/yaffs_qsort.h linux-2.6.30/fs/yaffs2/yaffs
+ int (*cmp)(const void *, const void *));
+
+#endif
-diff -Nur linux-2.6.30.orig/fs/yaffs2/yaffs_tagscompat.c linux-2.6.30/fs/yaffs2/yaffs_tagscompat.c
---- linux-2.6.30.orig/fs/yaffs2/yaffs_tagscompat.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.30/fs/yaffs2/yaffs_tagscompat.c 2009-06-11 09:21:04.000000000 +0200
+diff -Nur linux-2.6.32.orig/fs/yaffs2/yaffs_tagscompat.c linux-2.6.32/fs/yaffs2/yaffs_tagscompat.c
+--- linux-2.6.32.orig/fs/yaffs2/yaffs_tagscompat.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.32/fs/yaffs2/yaffs_tagscompat.c 2010-01-30 20:35:02.173084965 +0100
@@ -0,0 +1,541 @@
+/*
+ * YAFFS: Yet Another Flash File System. A NAND-flash specific file system.
@@ -14754,9 +14754,9 @@ diff -Nur linux-2.6.30.orig/fs/yaffs2/yaffs_tagscompat.c linux-2.6.30/fs/yaffs2/
+
+ return YAFFS_OK;
+}
-diff -Nur linux-2.6.30.orig/fs/yaffs2/yaffs_tagscompat.h linux-2.6.30/fs/yaffs2/yaffs_tagscompat.h
---- linux-2.6.30.orig/fs/yaffs2/yaffs_tagscompat.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.30/fs/yaffs2/yaffs_tagscompat.h 2009-06-11 09:21:04.000000000 +0200
+diff -Nur linux-2.6.32.orig/fs/yaffs2/yaffs_tagscompat.h linux-2.6.32/fs/yaffs2/yaffs_tagscompat.h
+--- linux-2.6.32.orig/fs/yaffs2/yaffs_tagscompat.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.32/fs/yaffs2/yaffs_tagscompat.h 2010-01-30 20:35:02.213084840 +0100
@@ -0,0 +1,39 @@
+/*
+ * YAFFS: Yet another Flash File System . A NAND-flash specific file system.
@@ -14797,9 +14797,9 @@ diff -Nur linux-2.6.30.orig/fs/yaffs2/yaffs_tagscompat.h linux-2.6.30/fs/yaffs2/
+int yaffs_CountBits(__u8 byte);
+
+#endif
-diff -Nur linux-2.6.30.orig/fs/yaffs2/yaffs_tagsvalidity.c linux-2.6.30/fs/yaffs2/yaffs_tagsvalidity.c
---- linux-2.6.30.orig/fs/yaffs2/yaffs_tagsvalidity.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.30/fs/yaffs2/yaffs_tagsvalidity.c 2009-06-11 09:21:04.000000000 +0200
+diff -Nur linux-2.6.32.orig/fs/yaffs2/yaffs_tagsvalidity.c linux-2.6.32/fs/yaffs2/yaffs_tagsvalidity.c
+--- linux-2.6.32.orig/fs/yaffs2/yaffs_tagsvalidity.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.32/fs/yaffs2/yaffs_tagsvalidity.c 2010-01-30 20:35:02.251827798 +0100
@@ -0,0 +1,28 @@
+/*
+ * YAFFS: Yet Another Flash File System. A NAND-flash specific file system.
@@ -14829,9 +14829,9 @@ diff -Nur linux-2.6.30.orig/fs/yaffs2/yaffs_tagsvalidity.c linux-2.6.30/fs/yaffs
+ tags->validMarker1 == 0x55555555);
+
+}
-diff -Nur linux-2.6.30.orig/fs/yaffs2/yaffs_tagsvalidity.h linux-2.6.30/fs/yaffs2/yaffs_tagsvalidity.h
---- linux-2.6.30.orig/fs/yaffs2/yaffs_tagsvalidity.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.30/fs/yaffs2/yaffs_tagsvalidity.h 2009-06-11 09:21:04.000000000 +0200
+diff -Nur linux-2.6.32.orig/fs/yaffs2/yaffs_tagsvalidity.h linux-2.6.32/fs/yaffs2/yaffs_tagsvalidity.h
+--- linux-2.6.32.orig/fs/yaffs2/yaffs_tagsvalidity.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.32/fs/yaffs2/yaffs_tagsvalidity.h 2010-01-30 20:35:02.292761803 +0100
@@ -0,0 +1,24 @@
+/*
+ * YAFFS: Yet another Flash File System . A NAND-flash specific file system.
@@ -14857,9 +14857,9 @@ diff -Nur linux-2.6.30.orig/fs/yaffs2/yaffs_tagsvalidity.h linux-2.6.30/fs/yaffs
+void yaffs_InitialiseTags(yaffs_ExtendedTags *tags);
+int yaffs_ValidateTags(yaffs_ExtendedTags *tags);
+#endif
-diff -Nur linux-2.6.30.orig/fs/yaffs2/yportenv.h linux-2.6.30/fs/yaffs2/yportenv.h
---- linux-2.6.30.orig/fs/yaffs2/yportenv.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.30/fs/yaffs2/yportenv.h 2009-06-11 09:21:04.000000000 +0200
+diff -Nur linux-2.6.32.orig/fs/yaffs2/yportenv.h linux-2.6.32/fs/yaffs2/yportenv.h
+--- linux-2.6.32.orig/fs/yaffs2/yportenv.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.32/fs/yaffs2/yportenv.h 2010-01-30 20:35:02.332076176 +0100
@@ -0,0 +1,203 @@
+/*
+ * YAFFS: Yet another Flash File System . A NAND-flash specific file system.
diff --git a/target/rb532/TODO b/target/rb532/TODO
index 054e445e0..f48d0f482 100644
--- a/target/rb532/TODO
+++ b/target/rb532/TODO
@@ -1,2 +1 @@
-- enable watchdog
-- test yaffs2 support
+- implement cfgfs for NAND/YAFFS2 rootfs
diff --git a/target/rb532/kernel.config b/target/rb532/kernel.config
index 921c38992..aac515061 100644
--- a/target/rb532/kernel.config
+++ b/target/rb532/kernel.config
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.32
-# Sat Jan 30 11:43:58 2010
+# Sat Jan 30 21:07:56 2010
#
CONFIG_MIPS=y
@@ -384,7 +384,93 @@ CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
# CONFIG_FW_LOADER is not set
# CONFIG_SYS_HYPERVISOR is not set
# CONFIG_CONNECTOR is not set
-# CONFIG_MTD is not set
+CONFIG_MTD=y
+# CONFIG_MTD_DEBUG is not set
+# CONFIG_MTD_TESTS is not set
+# CONFIG_MTD_CONCAT is not set
+CONFIG_MTD_PARTITIONS=y
+# CONFIG_MTD_ROOTFS_ROOT_DEV is not set
+# CONFIG_MTD_REDBOOT_PARTS is not set
+# CONFIG_MTD_CMDLINE_PARTS is not set
+# CONFIG_MTD_AR7_PARTS is not set
+
+#
+# User Modules And Translation Layers
+#
+# CONFIG_MTD_CHAR is not set
+CONFIG_MTD_BLKDEVS=y
+CONFIG_MTD_BLOCK=y
+# CONFIG_FTL is not set
+# CONFIG_NFTL is not set
+# CONFIG_INFTL is not set
+# CONFIG_RFD_FTL is not set
+# CONFIG_SSFDC is not set
+# CONFIG_MTD_OOPS is not set
+
+#
+# RAM/ROM/Flash chip drivers
+#
+# CONFIG_MTD_CFI is not set
+# CONFIG_MTD_JEDECPROBE is not set
+# CONFIG_MTD_CFI_NOSWAP is not set
+# CONFIG_MTD_CFI_BE_BYTE_SWAP is not set
+# CONFIG_MTD_CFI_LE_BYTE_SWAP is not set
+CONFIG_MTD_MAP_BANK_WIDTH_1=y
+CONFIG_MTD_MAP_BANK_WIDTH_2=y
+CONFIG_MTD_MAP_BANK_WIDTH_4=y
+# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
+CONFIG_MTD_CFI_I1=y
+CONFIG_MTD_CFI_I2=y
+# CONFIG_MTD_CFI_I4 is not set
+# CONFIG_MTD_CFI_I8 is not set
+# CONFIG_MTD_RAM is not set
+# CONFIG_MTD_ROM is not set
+# CONFIG_MTD_ABSENT is not set
+
+#
+# Mapping drivers for chip access
+#
+# CONFIG_MTD_COMPLEX_MAPPINGS is not set
+# CONFIG_MTD_INTEL_VR_NOR is not set
+# CONFIG_MTD_PLATRAM is not set
+
+#
+# Self-contained MTD device drivers
+#
+# CONFIG_MTD_PMC551 is not set
+# CONFIG_MTD_SLRAM is not set
+# CONFIG_MTD_PHRAM is not set
+# CONFIG_MTD_MTDRAM is not set
+# CONFIG_MTD_BLOCK2MTD is not set
+
+#
+# Disk-On-Chip Device Drivers
+#
+# CONFIG_MTD_DOC2000 is not set
+# CONFIG_MTD_DOC2001 is not set
+# CONFIG_MTD_DOC2001PLUS is not set
+CONFIG_MTD_NAND=y
+# CONFIG_MTD_NAND_VERIFY_WRITE is not set
+# CONFIG_MTD_NAND_ECC_SMC is not set
+# CONFIG_MTD_NAND_MUSEUM_IDS is not set
+CONFIG_MTD_NAND_IDS=y
+# CONFIG_MTD_NAND_DISKONCHIP is not set
+# CONFIG_MTD_NAND_CAFE is not set
+# CONFIG_MTD_NAND_NANDSIM is not set
+CONFIG_MTD_NAND_PLATFORM=y
+# CONFIG_MTD_ONENAND is not set
+
+#
+# LPDDR flash memory drivers
+#
+# CONFIG_MTD_LPDDR is not set
+
+#
+# UBI - Unsorted block images
+#
+# CONFIG_MTD_UBI is not set
# CONFIG_PARPORT is not set
CONFIG_BLK_DEV=y
# CONFIG_BLK_CPQ_DA is not set
@@ -888,6 +974,17 @@ CONFIG_MISC_FILESYSTEMS=y
# CONFIG_BEFS_FS is not set
# CONFIG_BFS_FS is not set
# CONFIG_EFS_FS is not set
+CONFIG_YAFFS_FS=y
+CONFIG_YAFFS_YAFFS1=y
+# CONFIG_YAFFS_9BYTE_TAGS is not set
+# CONFIG_YAFFS_DOES_ECC is not set
+CONFIG_YAFFS_YAFFS2=y
+CONFIG_YAFFS_AUTO_YAFFS2=y
+# CONFIG_YAFFS_DISABLE_LAZY_LOAD is not set
+# CONFIG_YAFFS_DISABLE_WIDE_TNODES is not set
+# CONFIG_YAFFS_ALWAYS_CHECK_CHUNK_ERASED is not set
+CONFIG_YAFFS_SHORT_NAMES_IN_RAM=y
+# CONFIG_JFFS2_FS is not set
# CONFIG_CRAMFS is not set
# CONFIG_SQUASHFS is not set
# CONFIG_VXFS_FS is not set