summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRemy Bohmer <linux@bohmer.net>2008-08-20 20:46:56 +0200
committerScott Wood <scottwood@freescale.com>2008-08-21 14:05:33 -0500
commit0bb86d823b6c150c7ee17de0cfca9ffccc16463b (patch)
tree761a81896f2ce58031d4e8ea3be221dec2a79402
parentbfd7f38614e21f745b6d6845fcc616ebc5e4d36f (diff)
downloadu-boot-imx-0bb86d823b6c150c7ee17de0cfca9ffccc16463b.zip
u-boot-imx-0bb86d823b6c150c7ee17de0cfca9ffccc16463b.tar.gz
u-boot-imx-0bb86d823b6c150c7ee17de0cfca9ffccc16463b.tar.bz2
Make the YAFFS filesystem work
Recently the YAFFS filesystem support has been added to U-boot. However, just enabling CONFIG_YAFFS2 is not enough to get it working. ymount will generate an exception (when dereferencing mtd->readoob()), because the genericDevice is a null pointer. Further, a lot of logging is produced while using YAFFS fs, so logging should also be disabled. Both issues are solved by this patch. With this patch and CONFIG_YAFFS2 enabled, I get a readable filesystem in U-boot, as well as in Linux. Tested on a Atmel AT91SAM9261EK board. Signed-off-by: Remy Bohmer <linux@bohmer.net> Acked-by: William Juul <william.juul@tandberg.com> Signed-off-by: Scott Wood <scottwood@freescale.com>
-rw-r--r--fs/yaffs2/yaffscfg.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/fs/yaffs2/yaffscfg.c b/fs/yaffs2/yaffscfg.c
index 3beb34d..16e84a4 100644
--- a/fs/yaffs2/yaffscfg.c
+++ b/fs/yaffs2/yaffscfg.c
@@ -34,7 +34,7 @@
#include "malloc.h"
#endif
-unsigned yaffs_traceMask = 0xFFFFFFFF;
+unsigned yaffs_traceMask = 0x0; /* Disable logging */
static int yaffs_errno = 0;
void yaffsfs_SetError(int err)
@@ -121,6 +121,9 @@ int yaffs_StartUp(void)
yaffs_Device *flashDev = calloc(1, sizeof(yaffs_Device));
yaffsfs_config[0].dev = flashDev;
+ /* store the mtd device for later use */
+ flashDev->genericDevice = mtd;
+
// Stuff to configure YAFFS
// Stuff to initialise anything special (eg lock semaphore).
yaffsfs_LocalInitialisation();