kernel: fix yaffs2 build with kernel 4.4
authorJo-Philipp Wich <jo@mein.io>
Mon, 16 May 2016 13:49:25 +0000 (15:49 +0200)
committerJo-Philipp Wich <jo@mein.io>
Mon, 16 May 2016 13:49:25 +0000 (15:49 +0200)
Fix YAFFS2 build after upstream nd_set_link() removal by importing
http://permalink.gmane.org/gmane.linux.embedded.yocto.linux-yocto/4373

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
target/linux/generic/patches-4.4/506-yaffs2-using-new-follow_link-and-put_link.patch [new file with mode: 0644]

diff --git a/target/linux/generic/patches-4.4/506-yaffs2-using-new-follow_link-and-put_link.patch b/target/linux/generic/patches-4.4/506-yaffs2-using-new-follow_link-and-put_link.patch
new file mode 100644 (file)
index 0000000..60c4e37
--- /dev/null
@@ -0,0 +1,47 @@
+From d4eb3ab036f8c37c5bc5f45ad0fa4dc34b7228c8 Mon Sep 17 00:00:00 2001
+From: Kevin Hao <kexin.hao@windriver.com>
+Date: Wed, 24 Feb 2016 14:37:13 +0800
+Subject: [PATCH 3/3] yaffs2: using new ->follow_link() and ->put_link()
+ calling conventions
+
+As what we did in commit 680baacbca69 ("new ->follow_link() and
+->put_link() calling conventions").
+
+Signed-off-by: Kevin Hao <kexin.hao@windriver.com>
+Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
+---
+ fs/yaffs2/yaffs_vfs.c | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+--- a/fs/yaffs2/yaffs_vfs.c
++++ b/fs/yaffs2/yaffs_vfs.c
+@@ -1060,7 +1060,7 @@ static int yaffs_readlink(struct dentry
+ }
+ #if (YAFFS_NEW_FOLLOW_LINK == 1)
+-static void *yaffs_follow_link(struct dentry *dentry, struct nameidata *nd)
++static const char *yaffs_follow_link(struct dentry *dentry, void **cookie)
+ {
+       void *ret;
+ #else
+@@ -1082,7 +1082,7 @@ static int yaffs_follow_link(struct dent
+               goto out;
+       }
+ #if (YAFFS_NEW_FOLLOW_LINK == 1)
+-      nd_set_link(nd, alias);
++      *cookie = alias;
+       ret = alias;
+ out:
+       if (ret_int)
+@@ -1114,9 +1114,9 @@ static void yaffs_put_inode(struct inode
+ #endif
+ #if (YAFFS_NEW_FOLLOW_LINK == 1)
+-void yaffs_put_link(struct dentry *dentry, struct nameidata *nd, void *alias)
++void yaffs_put_link(struct inode *inode, void *cookie)
+ {
+-      kfree(alias);
++      kfree(cookie);
+ }
+ #endif