projects
/
yaffs2.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
5e1b1f2
)
Update for Linux 2.6.19 support
author
charles
<charles>
Fri, 19 Jan 2007 04:07:48 +0000
(
04:07
+0000)
committer
charles
<charles>
Fri, 19 Jan 2007 04:07:48 +0000
(
04:07
+0000)
yaffs_fs.c
patch
|
blob
|
history
yportenv.h
patch
|
blob
|
history
diff --git
a/yaffs_fs.c
b/yaffs_fs.c
index 368e6579cd630146f9954f4bffe08e68d1cfa345..df0870d1afeb2d79765833944ce554774b2c5023 100644
(file)
--- a/
yaffs_fs.c
+++ b/
yaffs_fs.c
@@
-31,13
+31,15
@@
*/
const char *yaffs_fs_c_version =
*/
const char *yaffs_fs_c_version =
- "$Id: yaffs_fs.c,v 1.5
5 2006-12-19 21:33:41
charles Exp $";
+ "$Id: yaffs_fs.c,v 1.5
6 2007-01-19 04:07:48
charles Exp $";
extern const char *yaffs_guts_c_version;
extern const char *yaffs_guts_c_version;
+#include <linux/version.h>
+#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,19))
#include <linux/config.h>
#include <linux/config.h>
+#endif
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/module.h>
-#include <linux/version.h>
#include <linux/slab.h>
#include <linux/init.h>
#include <linux/list.h>
#include <linux/slab.h>
#include <linux/init.h>
#include <linux/list.h>
@@
-89,7
+91,13
@@
unsigned yaffs_traceMask = YAFFS_TRACE_ALWAYS |
/*#define T(x) printk x */
/*#define T(x) printk x */
-#define yaffs_InodeToObject(iptr) ((yaffs_Object *)((iptr)->u.generic_ip))
+#if (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,18))
+#define yaffs_InodeToObjectLV(iptr) (iptr)->i_private
+#else
+#define yaffs_InodeToObjectLV(iptr) (iptr)->u.generic_ip
+#endif
+
+#define yaffs_InodeToObject(iptr) ((yaffs_Object *)(yaffs_InodeToObjectLV(iptr)))
#define yaffs_DentryToObject(dptr) yaffs_InodeToObject((dptr)->d_inode)
#if (LINUX_VERSION_CODE > KERNEL_VERSION(2,5,0))
#define yaffs_DentryToObject(dptr) yaffs_InodeToObject((dptr)->d_inode)
#if (LINUX_VERSION_CODE > KERNEL_VERSION(2,5,0))
@@
-189,8
+197,15
@@
static struct address_space_operations yaffs_file_address_operations = {
};
static struct file_operations yaffs_file_operations = {
};
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,
+#else
.read = generic_file_read,
.write = generic_file_write,
.read = generic_file_read,
.write = generic_file_write,
+#endif
.mmap = generic_file_mmap,
.flush = yaffs_file_flush,
.fsync = yaffs_sync_object,
.mmap = generic_file_mmap,
.flush = yaffs_file_flush,
.fsync = yaffs_sync_object,
@@
-408,7
+423,7
@@
static void yaffs_clear_inode(struct inode *inode)
* the yaffs_Object.
*/
obj->myInode = NULL;
* the yaffs_Object.
*/
obj->myInode = NULL;
-
inode->u.generic_ip
= NULL;
+
yaffs_InodeToObjectLV(inode)
= NULL;
/* If the object freeing was deferred, then the real
* free happens now.
/* If the object freeing was deferred, then the real
* free happens now.
@@
-704,7
+719,9
@@
static void yaffs_FillInodeFromObject(struct inode *inode, yaffs_Object * obj)
inode->i_mode = obj->yst_mode;
inode->i_uid = obj->yst_uid;
inode->i_gid = obj->yst_gid;
inode->i_mode = obj->yst_mode;
inode->i_uid = obj->yst_uid;
inode->i_gid = obj->yst_gid;
+#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,19))
inode->i_blksize = inode->i_sb->s_blocksize;
inode->i_blksize = inode->i_sb->s_blocksize;
+#endif
#if (LINUX_VERSION_CODE > KERNEL_VERSION(2,5,0))
inode->i_rdev = old_decode_dev(obj->yst_rdev);
#if (LINUX_VERSION_CODE > KERNEL_VERSION(2,5,0))
inode->i_rdev = old_decode_dev(obj->yst_rdev);
@@
-756,7
+773,8
@@
static void yaffs_FillInodeFromObject(struct inode *inode, yaffs_Object * obj)
break;
}
break;
}
- inode->u.generic_ip = obj;
+ yaffs_InodeToObjectLV(inode) = obj;
+
obj->myInode = inode;
} else {
obj->myInode = inode;
} else {
@@
-1322,7
+1340,7
@@
static int yaffs_statfs(struct super_block *sb, struct statfs *buf)
}
}
-
+/**
static int yaffs_do_sync_fs(struct super_block *sb)
{
static int yaffs_do_sync_fs(struct super_block *sb)
{
@@
-1341,7
+1359,7
@@
static int yaffs_do_sync_fs(struct super_block *sb)
}
return 0;
}
}
return 0;
}
-
+**/
#if (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,17))
static void yaffs_write_super(struct super_block *sb)
#if (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,17))
static void yaffs_write_super(struct super_block *sb)
@@
-1947,7
+1965,7
@@
static int yaffs_proc_write(struct file *file, const char *buf,
char *end, *mask_name;
int i;
int done = 0;
char *end, *mask_name;
int i;
int done = 0;
- int add, len;
+ int add, len
= 0
;
int pos = 0;
rg = yaffs_traceMask;
int pos = 0;
rg = yaffs_traceMask;
diff --git
a/yportenv.h
b/yportenv.h
index e8b9d097c35a978238720b3f2f3caaa81108b640..3e6caaeaf0e9ef54f19e1183709676e7379feae3 100644
(file)
--- a/
yportenv.h
+++ b/
yportenv.h
@@
-15,7
+15,7
@@
*
* Note: Only YAFFS headers are LGPL, YAFFS C code is covered by GPL.
*
*
* Note: Only YAFFS headers are LGPL, YAFFS C code is covered by GPL.
*
- * $Id: yportenv.h,v 1.1
1 2006-05-21 09:39:12
charles Exp $
+ * $Id: yportenv.h,v 1.1
2 2007-01-19 04:07:48
charles Exp $
*
*/
*
*/
@@
-31,9
+31,11
@@
#include "moduleconfig.h"
/* Linux kernel */
#include "moduleconfig.h"
/* Linux kernel */
+#include <linux/version.h>
+#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,19))
#include <linux/config.h>
#include <linux/config.h>
+#endif
#include <linux/kernel.h>
#include <linux/kernel.h>
-#include <linux/version.h>
#include <linux/mm.h>
#include <linux/string.h>
#include <linux/slab.h>
#include <linux/mm.h>
#include <linux/string.h>
#include <linux/slab.h>