From f840df94ddcdd184489532c9320b9332319a948c Mon Sep 17 00:00:00 2001 From: juhosg Date: Thu, 1 Nov 2012 11:07:23 +0000 Subject: generic: make yaffs work on 3.6 Signed-off-by: Gabor Juhos git-svn-id: svn://svn.openwrt.org/openwrt/trunk@34054 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- .../512-yaffs-3.6-fix-dir_inode-ops.patch | 60 ++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 target/linux/generic/patches-3.6/512-yaffs-3.6-fix-dir_inode-ops.patch (limited to 'target/linux/generic/patches-3.6/512-yaffs-3.6-fix-dir_inode-ops.patch') diff --git a/target/linux/generic/patches-3.6/512-yaffs-3.6-fix-dir_inode-ops.patch b/target/linux/generic/patches-3.6/512-yaffs-3.6-fix-dir_inode-ops.patch new file mode 100644 index 0000000000..f9db0b3fab --- /dev/null +++ b/target/linux/generic/patches-3.6/512-yaffs-3.6-fix-dir_inode-ops.patch @@ -0,0 +1,60 @@ +--- a/fs/yaffs2/yaffs_vfs_glue.c ++++ b/fs/yaffs2/yaffs_vfs_glue.c +@@ -272,20 +272,29 @@ 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)) ++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 6, 0)) ++static int yaffs_create(struct inode *dir, struct dentry *dentry, umode_t mode, ++ bool excl); ++#elif (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 ++#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 ++static int yaffs_create(struct inode *dir, struct dentry *dentry, int mode); + #endif ++ ++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 6, 0)) ++static struct dentry *yaffs_lookup(struct inode *dir, struct dentry *dentry, ++ unsigned int flags); ++#elif (LINUX_VERSION_CODE > KERNEL_VERSION(2, 5, 0)) + static struct dentry *yaffs_lookup(struct inode *dir, struct dentry *dentry, + struct nameidata *n); + #else +-static int yaffs_create(struct inode *dir, struct dentry *dentry, int mode); + static struct dentry *yaffs_lookup(struct inode *dir, struct dentry *dentry); + #endif ++ + static int yaffs_link(struct dentry *old_dentry, struct inode *dir, + struct dentry *dentry); + static int yaffs_unlink(struct inode *dir, struct dentry *dentry); +@@ -811,7 +820,10 @@ struct inode *yaffs_get_inode(struct sup + /* + * Lookup is used to find objects in the fs + */ +-#if (LINUX_VERSION_CODE > KERNEL_VERSION(2, 5, 0)) ++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 6, 0)) ++static struct dentry *yaffs_lookup(struct inode *dir, struct dentry *dentry, ++ unsigned int flags) ++#elif (LINUX_VERSION_CODE > KERNEL_VERSION(2, 5, 0)) + + static struct dentry *yaffs_lookup(struct inode *dir, struct dentry *dentry, + struct nameidata *n) +@@ -1801,7 +1813,10 @@ static int yaffs_mkdir(struct inode *dir + return retVal; + } + +-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 3, 0)) ++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 6, 0)) ++static int yaffs_create(struct inode *dir, struct dentry *dentry, umode_t mode, ++ bool excl) ++#elif (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)) -- cgit v1.2.3