* Fix problems caused by Robert Schwebel's cramfs patch

* Patch by Scott McNutt, 02 Jan 2004:
  Add support for the Nios Active Serial Memory Interface (ASMI)
  on Cyclone devices

* Patch by Andrea Marson, 16 Dec 2003:
  Add support for the PPChameleon ME and HI modules

* Patch by Yuli Barcohen, 22 Dec 2003:
  Add support for Motorola DUET ADS board (MPC87x/88x)
diff --git a/fs/cramfs/cramfs.c b/fs/cramfs/cramfs.c
index 1e35104..98ff567 100644
--- a/fs/cramfs/cramfs.c
+++ b/fs/cramfs/cramfs.c
@@ -31,8 +31,9 @@
 
 #include <asm/byteorder.h>
 #include <linux/stat.h>
+#include <jffs2/jffs2.h>
 #include <jffs2/load_kernel.h>
-#include "cramfs_fs.h"
+#include <cramfs/cramfs_fs.h>
 
 /* These two macros may change in future, to provide better st_ino
    semantics. */
@@ -198,36 +199,6 @@
 				  (unsigned long) loadoffset);
 }
 
-static char *mkmodestr (unsigned long mode, char *str)
-{
-	static const char *l = "xwr";
-	int mask = 1, i;
-	char c;
-
-	switch (mode & S_IFMT) {
-	case S_IFDIR:	str[0] = 'd'; break;
-	case S_IFBLK:	str[0] = 'b'; break;
-	case S_IFCHR:	str[0] = 'c'; break;
-	case S_IFIFO:	str[0] = 'f'; break;
-	case S_IFLNK:	str[0] = 'l'; break;
-	case S_IFSOCK:	str[0] = 's'; break;
-	case S_IFREG:	str[0] = '-'; break;
-	default: str[0] = '?'; break;
-	}
-
-	for (i = 0; i < 9; i++) {
-		c = l[i % 3];
-		str[9 - i] = (mode & mask) ? c : '-';
-		mask = mask << 1;
-	}
-
-	if (mode & S_ISUID) str[3] = (mode & S_IXUSR) ? 's' : 'S';
-	if (mode & S_ISGID) str[6] = (mode & S_IXGRP) ? 's' : 'S';
-	if (mode & S_ISVTX) str[9] = (mode & S_IXOTH) ? 't' : 'T';
-	str[10] = '\0';
-	return str;
-}
-
 static int cramfs_list_inode (struct part_info *info, unsigned long offset)
 {
 	struct cramfs_inode *inode = (struct cramfs_inode *)