summaryrefslogtreecommitdiff
path: root/target/linux/generic/patches-4.3/504-yaffs-3.16-new-fops.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/generic/patches-4.3/504-yaffs-3.16-new-fops.patch')
-rw-r--r--target/linux/generic/patches-4.3/504-yaffs-3.16-new-fops.patch29
1 files changed, 29 insertions, 0 deletions
diff --git a/target/linux/generic/patches-4.3/504-yaffs-3.16-new-fops.patch b/target/linux/generic/patches-4.3/504-yaffs-3.16-new-fops.patch
new file mode 100644
index 0000000..32b4fdf
--- /dev/null
+++ b/target/linux/generic/patches-4.3/504-yaffs-3.16-new-fops.patch
@@ -0,0 +1,29 @@
+--- a/fs/yaffs2/yaffs_vfs.c
++++ b/fs/yaffs2/yaffs_vfs.c
+@@ -774,7 +774,25 @@ static int yaffs_sync_object(struct file
+ }
+
+
+-#if (LINUX_VERSION_CODE > KERNEL_VERSION(2, 6, 22))
++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 16, 0))
++static const struct file_operations yaffs_file_operations = {
++#if (LINUX_VERSION_CODE < KERNEL_VERSION(4, 1, 0))
++ .read = new_sync_read,
++#endif /* LINUX_VERSION_CODE < KERNEL_VERSION(4, 1, 0) */
++ .read_iter = generic_file_read_iter,
++#if (LINUX_VERSION_CODE < KERNEL_VERSION(4, 1, 0))
++ .write = new_sync_write,
++#endif /* LINUX_VERSION_CODE < KERNEL_VERSION(4, 1, 0) */
++ .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 = iter_file_splice_write,
++ .llseek = generic_file_llseek,
++};
++
++#elif (LINUX_VERSION_CODE > KERNEL_VERSION(2, 6, 22))
+ static const struct file_operations yaffs_file_operations = {
+ .read = do_sync_read,
+ .write = do_sync_write,