diff options
Diffstat (limited to 'target/linux')
-rw-r--r-- | target/linux/generic/patches-3.3/507-yaffs2-3.3_fix.patch | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/target/linux/generic/patches-3.3/507-yaffs2-3.3_fix.patch b/target/linux/generic/patches-3.3/507-yaffs2-3.3_fix.patch new file mode 100644 index 000000000..a269dc256 --- /dev/null +++ b/target/linux/generic/patches-3.3/507-yaffs2-3.3_fix.patch @@ -0,0 +1,71 @@ +--- a/fs/yaffs2/yaffs_vfs_glue.c ++++ b/fs/yaffs2/yaffs_vfs_glue.c +@@ -274,8 +274,13 @@ static int yaffs_sync_object(struct file + static int yaffs_readdir(struct file *f, void *dirent, filldir_t filldir); + + #if (LINUX_VERSION_CODE > KERNEL_VERSION(2, 5, 0)) ++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 3, 0)) ++static int yaffs_create(struct inode *dir, struct dentry *dentry, umode_t mode, ++ struct nameidata *n); ++#else + static int yaffs_create(struct inode *dir, struct dentry *dentry, int mode, + struct nameidata *n); ++#endif + static struct dentry *yaffs_lookup(struct inode *dir, struct dentry *dentry, + struct nameidata *n); + #else +@@ -287,9 +292,17 @@ static int yaffs_link(struct dentry *old + static int yaffs_unlink(struct inode *dir, struct dentry *dentry); + static int yaffs_symlink(struct inode *dir, struct dentry *dentry, + const char *symname); ++ ++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 3, 0)) ++static int yaffs_mkdir(struct inode *dir, struct dentry *dentry, umode_t mode); ++#else + static int yaffs_mkdir(struct inode *dir, struct dentry *dentry, int mode); ++#endif + +-#if (LINUX_VERSION_CODE > KERNEL_VERSION(2, 5, 0)) ++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 3, 0)) ++static int yaffs_mknod(struct inode *dir, struct dentry *dentry, umode_t mode, ++ dev_t dev); ++#elif (LINUX_VERSION_CODE > KERNEL_VERSION(2, 5, 0)) + static int yaffs_mknod(struct inode *dir, struct dentry *dentry, int mode, + dev_t dev); + #else +@@ -1708,7 +1721,10 @@ out: + #define YCRED(x) (x->cred) + #endif + +-#if (LINUX_VERSION_CODE > KERNEL_VERSION(2, 5, 0)) ++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 3, 0)) ++static int yaffs_mknod(struct inode *dir, struct dentry *dentry, umode_t mode, ++ dev_t rdev) ++#elif (LINUX_VERSION_CODE > KERNEL_VERSION(2, 5, 0)) + static int yaffs_mknod(struct inode *dir, struct dentry *dentry, int mode, + dev_t rdev) + #else +@@ -1798,7 +1814,11 @@ static int yaffs_mknod(struct inode *dir + return error; + } + ++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 3, 0)) ++static int yaffs_mkdir(struct inode *dir, struct dentry *dentry, umode_t mode) ++#else + static int yaffs_mkdir(struct inode *dir, struct dentry *dentry, int mode) ++#endif + { + int retVal; + T(YAFFS_TRACE_OS, (TSTR("yaffs_mkdir\n"))); +@@ -1806,7 +1826,10 @@ static int yaffs_mkdir(struct inode *dir + return retVal; + } + +-#if (LINUX_VERSION_CODE > KERNEL_VERSION(2, 5, 0)) ++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 3, 0)) ++static int yaffs_create(struct inode *dir, struct dentry *dentry, umode_t mode, ++ struct nameidata *n) ++#elif (LINUX_VERSION_CODE > KERNEL_VERSION(2, 5, 0)) + static int yaffs_create(struct inode *dir, struct dentry *dentry, int mode, + struct nameidata *n) + #else |