From: Remy Bohmer Date: Wed, 20 Aug 2008 18:46:56 +0000 (+0200) Subject: Make the YAFFS filesystem work X-Git-Tag: v2008.10-rc1~133 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=0bb86d823b6c150c7ee17de0cfca9ffccc16463b;p=oweals%2Fu-boot.git 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 Acked-by: William Juul Signed-off-by: Scott Wood --- diff --git a/fs/yaffs2/yaffscfg.c b/fs/yaffs2/yaffscfg.c index 3beb34d145..16e84a4210 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();