/*
- * YAFFS: Yet another Flash File System . A NAND-flash specific file system.
+ * YAFFS: Yet another Flash File System . A NAND-flash specific file system.
*
* Copyright (C) 2002-2007 Aleph One Ltd.
* for Toby Churchill Ltd and Brightstar Engineering
#ifndef __YPORTENV_H__
#define __YPORTENV_H__
+/*
+ * Define the MTD version in terms of Linux Kernel versions
+ * This allows yaffs to be used independantly of the kernel
+ * as well as with it.
+ */
+
+#define MTD_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c))
+
#if defined CONFIG_YAFFS_WINCE
#include "ywinceenv.h"
#include "moduleconfig.h"
/* Linux kernel */
+
#include <linux/version.h>
+#define MTD_VERSION_CODE LINUX_VERSION_CODE
+
#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,19))
#include <linux/config.h>
#endif
#define YCHAR char
#define YUCHAR unsigned char
#define _Y(x) x
+#define yaffs_strcat(a,b) strcat(a,b)
#define yaffs_strcpy(a,b) strcpy(a,b)
#define yaffs_strncpy(a,b,c) strncpy(a,b,c)
#define yaffs_strncmp(a,b,c) strncmp(a,b,c)
#define YAFFS_LOSTNFOUND_PREFIX "obj"
/* #define YPRINTF(x) printk x */
-#define YMALLOC(x) kmalloc(x,GFP_KERNEL)
+#define YMALLOC(x) kmalloc(x,GFP_NOFS)
#define YFREE(x) kfree(x)
#define YMALLOC_ALT(x) vmalloc(x)
#define YFREE_ALT(x) vfree(x)
#elif defined CONFIG_YAFFS_DIRECT
+#define MTD_VERSION_CODE MTD_VERSION(2,6,22)
+
/* Direct interface */
#include "ydirectenv.h"
#define YCHAR char
#define YUCHAR unsigned char
#define _Y(x) x
+#define yaffs_strcat(a,b) strcat(a,b)
#define yaffs_strcpy(a,b) strcpy(a,b)
#define yaffs_strncpy(a,b,c) strncpy(a,b,c)
#define yaffs_strlen(s) strlen(s)
* Tracing flags.
* The flags masked in YAFFS_TRACE_ALWAYS are always traced.
*/
-
+
#define YAFFS_TRACE_OS 0x00000002
#define YAFFS_TRACE_ALLOCATE 0x00000004
#define YAFFS_TRACE_SCAN 0x00000008
#define T(mask,p) do{ if((mask) & (yaffs_traceMask | YAFFS_TRACE_ALWAYS)) TOUT(p);} while(0)
-#ifndef CONFIG_YAFFS_WINCE
-#define YBUG() T(YAFFS_TRACE_BUG,(TSTR("==>> yaffs bug: " __FILE__ " %d" TENDSTR),__LINE__))
+#ifndef YBUG
+#define YBUG() do {T(YAFFS_TRACE_BUG,(TSTR("==>> yaffs bug: " __FILE__ " %d" TENDSTR),__LINE__));} while(0)
#endif
#endif