Update for Linux 2.6.19 support
[yaffs2.git] / yportenv.h
index 0543383066a0a24c1e3ef9f78051fde54cfb661f..3e6caaeaf0e9ef54f19e1183709676e7379feae3 100644 (file)
@@ -15,7 +15,7 @@
  *
  * Note: Only YAFFS headers are LGPL, YAFFS C code is covered by GPL.
  *
- * $Id: yportenv.h,v 1.8 2005-09-18 05:31:26 marty Exp $
+ * $Id: yportenv.h,v 1.12 2007-01-19 04:07:48 charles Exp $
  *
  */
 
 #include "moduleconfig.h"
 
 /* Linux kernel */
+#include <linux/version.h>
+#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,19))
 #include <linux/config.h>
+#endif
 #include <linux/kernel.h>
-#include <linux/version.h>
 #include <linux/mm.h>
 #include <linux/string.h>
 #include <linux/slab.h>
+#include <linux/vmalloc.h>
 
 #define YCHAR char
 #define YUCHAR unsigned char
 /* #define YPRINTF(x) printk x */
 #define YMALLOC(x) kmalloc(x,GFP_KERNEL)
 #define YFREE(x)   kfree(x)
+#define YMALLOC_ALT(x) vmalloc(x)
+#define YFREE_ALT(x)   vfree(x)
+#define YMALLOC_DMA(x) YMALLOC(x)
+
+// KR - added for use in scan so processes aren't blocked indefinitely.
+#define YYIELD() schedule()
 
 #define YAFFS_ROOT_MODE                                0666
 #define YAFFS_LOSTNFOUND_MODE          0666
 
 #define YMALLOC(x) malloc(x)
 #define YFREE(x)   free(x)
+#define YMALLOC_ALT(x) malloc(x)
+#define YFREE_ALT(x) free(x)
 
 #define YCHAR char
 #define YUCHAR unsigned char
@@ -143,6 +154,7 @@ extern unsigned yaffs_traceMask;
 #define YAFFS_TRACE_GC_DETAIL          0x00001000
 #define YAFFS_TRACE_SCAN_DEBUG         0x00002000
 #define YAFFS_TRACE_MTD                        0x00004000
+#define YAFFS_TRACE_CHECKPOINT         0x00008000
 #define YAFFS_TRACE_ALWAYS             0x40000000
 #define YAFFS_TRACE_BUG                        0x80000000