fix yaffs on 2.6.26
authorGabor Juhos <juhosg@openwrt.org>
Sat, 26 Jul 2008 16:16:26 +0000 (16:16 +0000)
committerGabor Juhos <juhosg@openwrt.org>
Sat, 26 Jul 2008 16:16:26 +0000 (16:16 +0000)
SVN-Revision: 11936

target/linux/generic-2.6/patches-2.6.26/513-yaffs_2.6.26_fix.patch [new file with mode: 0644]

diff --git a/target/linux/generic-2.6/patches-2.6.26/513-yaffs_2.6.26_fix.patch b/target/linux/generic-2.6/patches-2.6.26/513-yaffs_2.6.26_fix.patch
new file mode 100644 (file)
index 0000000..32bd3a5
--- /dev/null
@@ -0,0 +1,69 @@
+--- a/fs/yaffs2/yaffs_fs.c
++++ b/fs/yaffs2/yaffs_fs.c
+@@ -76,6 +76,12 @@
+ #endif
++#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,26))
++#define YPROC_ROOT    &proc_root
++#else
++#define YPROC_ROOT    NULL
++#endif
++
+ #if (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,17))
+ #define WRITE_SIZE_STR "writesize"
+ #define WRITE_SIZE(mtd) (mtd)->writesize
+@@ -189,7 +195,9 @@
+ #endif
++#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,26))
+ static void yaffs_put_inode(struct inode *inode);
++#endif
+ static void yaffs_delete_inode(struct inode *);
+ static void yaffs_clear_inode(struct inode *);
+@@ -293,7 +301,9 @@
+ #if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,25))
+       .read_inode = yaffs_read_inode,
+ #endif
++#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,26))
+       .put_inode = yaffs_put_inode,
++#endif
+       .put_super = yaffs_put_super,
+       .delete_inode = yaffs_delete_inode,
+       .clear_inode = yaffs_clear_inode,
+@@ -437,6 +447,7 @@
+ }
++#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,26))
+ /* For now put inode is just for debugging
+  * Put inode is called when the inode **structure** is put.
+  */
+@@ -447,6 +458,7 @@
+          atomic_read(&inode->i_count)));
+ }
++#endif
+ /* clear is called to tell the fs to release any per-inode data it holds */
+ static void yaffs_clear_inode(struct inode *inode)
+@@ -2279,7 +2291,7 @@
+       /* Install the proc_fs entry */
+       my_proc_entry = create_proc_entry("yaffs",
+                                              S_IRUGO | S_IFREG,
+-                                             &proc_root);
++                                             YPROC_ROOT);
+       if (my_proc_entry) {
+               my_proc_entry->write_proc = yaffs_proc_write;
+@@ -2325,7 +2337,7 @@
+       T(YAFFS_TRACE_ALWAYS, ("yaffs " __DATE__ " " __TIME__
+                              " removing. \n"));
+-      remove_proc_entry("yaffs", &proc_root);
++      remove_proc_entry("yaffs", YPROC_ROOT);
+       fsinst = fs_to_install;