kernel: fix yaffs compile for >= v3.16
[openwrt/openwrt.git] / target / linux / generic / patches-4.0 / 505-yaffs-3.16-new-fops.patch
diff --git a/target/linux/generic/patches-4.0/505-yaffs-3.16-new-fops.patch b/target/linux/generic/patches-4.0/505-yaffs-3.16-new-fops.patch
new file mode 100644 (file)
index 0000000..855b9fc
--- /dev/null
@@ -0,0 +1,28 @@
+--- a/fs/yaffs2/yaffs_vfs.c
++++ b/fs/yaffs2/yaffs_vfs.c
+@@ -796,13 +796,13 @@
+ static const struct file_operations yaffs_file_operations = {
+       .read = do_sync_read,
+       .write = do_sync_write,
+-      .aio_read = generic_file_aio_read,
+-      .aio_write = generic_file_aio_write,
++      .read_iter = generic_file_read_iter,
++      .write_iter = generic_file_write_iter,
+       .mmap = generic_file_mmap,
+       .flush = yaffs_file_flush,
+       .fsync = yaffs_sync_object,
+       .splice_read = generic_file_splice_read,
+-      .splice_write = generic_file_splice_write,
++      .splice_write = iter_file_splice_write,
+       .llseek = generic_file_llseek,
+ };
+@@ -1050,7 +1050,7 @@
+       if (!alias)
+               return -ENOMEM;
+-      ret = vfs_readlink(dentry, buffer, buflen, alias);
++      ret = readlink_copy(buffer, buflen, alias);
+       kfree(alias);
+       return ret;
+ }