diff options
| -rw-r--r-- | target/linux/generic-2.6/files/fs/yaffs2/yaffs_fs.c | 37 | ||||
| -rw-r--r-- | target/linux/generic-2.6/files/fs/yaffs2/yportenv.h | 1 | 
2 files changed, 30 insertions, 8 deletions
| diff --git a/target/linux/generic-2.6/files/fs/yaffs2/yaffs_fs.c b/target/linux/generic-2.6/files/fs/yaffs2/yaffs_fs.c index 3a77a03aa..e572301f5 100644 --- a/target/linux/generic-2.6/files/fs/yaffs2/yaffs_fs.c +++ b/target/linux/generic-2.6/files/fs/yaffs2/yaffs_fs.c @@ -32,7 +32,7 @@   */  const char *yaffs_fs_c_version = -    "$Id: yaffs_fs.c,v 1.60 2007-05-15 20:07:40 charles Exp $"; +    "$Id: yaffs_fs.c,v 1.63 2007-09-19 20:35:40 imcd Exp $";  extern const char *yaffs_guts_c_version;  #include <linux/version.h> @@ -213,24 +213,45 @@ static struct address_space_operations yaffs_file_address_operations = {  	.commit_write = yaffs_commit_write,  }; +#if (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,22)) +static 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, +	.mmap = generic_file_mmap, +	.flush = yaffs_file_flush, +	.fsync = yaffs_sync_object, +	.splice_read = generic_file_splice_read, +	.splice_write = generic_file_splice_write, +}; + +#elif (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,18)) +  static struct file_operations yaffs_file_operations = { -#if (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,18))  	.read = do_sync_read,  	.write = do_sync_write,  	.aio_read = generic_file_aio_read,  	.aio_write = generic_file_aio_write, +	.mmap = generic_file_mmap, +	.flush = yaffs_file_flush, +	.fsync = yaffs_sync_object, +	.sendfile = generic_file_sendfile, +}; +  #else + +static struct file_operations yaffs_file_operations = {  	.read = generic_file_read,  	.write = generic_file_write, -#endif  	.mmap = generic_file_mmap,  	.flush = yaffs_file_flush,  	.fsync = yaffs_sync_object,  #if (LINUX_VERSION_CODE > KERNEL_VERSION(2,5,0))  	.sendfile = generic_file_sendfile,  #endif -  }; +#endif  static struct inode_operations yaffs_file_inode_operations = {  	.setattr = yaffs_setattr, @@ -1430,6 +1451,7 @@ static void yaffs_read_inode(struct inode *inode)  static LIST_HEAD(yaffs_dev_list); +#if 0 // not used  static int yaffs_remount_fs(struct super_block *sb, int *flags, char *data)  {  	yaffs_Device    *dev = yaffs_SuperToDevice(sb); @@ -1458,6 +1480,7 @@ static int yaffs_remount_fs(struct super_block *sb, int *flags, char *data)  	return 0;  } +#endif  static void yaffs_put_super(struct super_block *sb)  { @@ -2095,7 +2118,7 @@ static int yaffs_proc_write(struct file *file, const char *buf,  	unsigned rg = 0, mask_bitfield;  	char *end;  	char *mask_name; -	char *x;  +	const char *x;   	char substring[MAX_MASK_NAME_LENGTH+1];  	int i;  	int done = 0; @@ -2128,6 +2151,7 @@ static int yaffs_proc_write(struct file *file, const char *buf,  		if (end > buf + pos) {  			mask_name = "numeral";  			len = end - (buf + pos); +			pos += len;  			done = 0;  		} else {  			for(x = buf + pos, i = 0;  @@ -2137,8 +2161,6 @@ static int yaffs_proc_write(struct file *file, const char *buf,  			substring[i] = '\0';  			for (i = 0; mask_flags[i].mask_name != NULL; i++) { -				//len = strlen(mask_flags[i].mask_name); -				//if (strncmp(buf + pos, mask_flags[i].mask_name, len) == 0) {  				if(strcmp(substring,mask_flags[i].mask_name) == 0){  					mask_name = mask_flags[i].mask_name;  					mask_bitfield = mask_flags[i].mask_bitfield; @@ -2149,7 +2171,6 @@ static int yaffs_proc_write(struct file *file, const char *buf,  		}  		if (mask_name != NULL) { -			// pos += len;  			done = 0;  			switch(add) {  			case '-': diff --git a/target/linux/generic-2.6/files/fs/yaffs2/yportenv.h b/target/linux/generic-2.6/files/fs/yaffs2/yportenv.h index e5e3dbe8e..8b80c6d68 100644 --- a/target/linux/generic-2.6/files/fs/yaffs2/yportenv.h +++ b/target/linux/generic-2.6/files/fs/yaffs2/yportenv.h @@ -32,6 +32,7 @@  #endif  #include <linux/kernel.h>  #include <linux/mm.h> +#include <linux/sched.h>  #include <linux/string.h>  #include <linux/slab.h>  #include <linux/vmalloc.h> | 
