Remove sprintf from yaffs_guts because it isn't always available
[yaffs2.git] / yportenv.h
index e5e3dbe8e245326d794592c68e7fc8bea1be9b00..bfda36e8aaa3b047ad8be01156de4b8e1b8b8438 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * 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
 #include <linux/kernel.h>
 #include <linux/mm.h>
+#include <linux/sched.h>
 #include <linux/string.h>
 #include <linux/slab.h>
 #include <linux/vmalloc.h>
@@ -39,6 +51,7 @@
 #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)
 
 #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)
@@ -149,7 +165,7 @@ extern unsigned int yaffs_wr_attempts;
  * 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
@@ -179,8 +195,8 @@ extern unsigned int yaffs_wr_attempts;
 
 #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