--- a/fs/yaffs2/yaffs_fs.c
+++ b/fs/yaffs2/yaffs_fs.c
@@ -969,7 +970,7 @@
 		f->f_version = inode->i_version;
 	}
 
-	list_for_each(i, &obj->variant.directoryVariant.children) {
+	list_for_each(i, (struct list_head *)&obj->variant.directoryVariant.children) {
 		curoffs++;
 		if (curoffs >= offset) {
 			l = list_entry(i, yaffs_Object, siblings);
@@ -1273,7 +1275,7 @@
 
 	if (target &&
 	    target->variantType == YAFFS_OBJECT_TYPE_DIRECTORY &&
-	    !list_empty(&target->variant.directoryVariant.children)) {
+	    !list_empty((struct list_head *)&target->variant.directoryVariant.children)) {
 
 	        T(YAFFS_TRACE_OS, (KERN_DEBUG "target is non-empty dir\n"));
 
@@ -1529,7 +1531,7 @@
 	yaffs_GrossUnlock(dev);
 
 	/* we assume this is protected by lock_kernel() in mount/umount */
-	list_del(&dev->devList);
+	list_del((struct list_head *)&dev->devList);
 
 	if(dev->spareBuffer){
 		YFREE(dev->spareBuffer);
@@ -1864,7 +1866,7 @@
 	dev->skipCheckpointWrite = options.skip_checkpoint_write;
 
 	/* we assume this is protected by lock_kernel() in mount/umount */
-	list_add_tail(&dev->devList, &yaffs_dev_list);
+	list_add_tail((struct list_head *)&dev->devList, &yaffs_dev_list);
 
 	init_MUTEX(&dev->grossLock);
 
--- a/fs/yaffs2/yaffs_mtdif1.c
+++ b/fs/yaffs2/yaffs_mtdif1.c
@@ -323,7 +323,7 @@
  * Always returns YAFFS_OK.
  */
 int nandmtd1_QueryNANDBlock(struct yaffs_DeviceStruct *dev, int blockNo,
-	yaffs_BlockState * pState, int *pSequenceNumber)
+	yaffs_BlockState * pState, __u32 *pSequenceNumber)
 {
 	struct mtd_info * mtd = dev->genericDevice;
 	int chunkNo = blockNo * dev->nChunksPerBlock;
--- a/fs/yaffs2/yaffs_mtdif1.h
+++ b/fs/yaffs2/yaffs_mtdif1.h
@@ -23,6 +23,6 @@
 int nandmtd1_MarkNANDBlockBad(struct yaffs_DeviceStruct *dev, int blockNo);
 
 int nandmtd1_QueryNANDBlock(struct yaffs_DeviceStruct *dev, int blockNo,
-	yaffs_BlockState * state, int *sequenceNumber);
+	yaffs_BlockState * state, __u32 *sequenceNumber);
 
 #endif
--- a/fs/yaffs2/yaffs_mtdif2.c
+++ b/fs/yaffs2/yaffs_mtdif2.c
@@ -204,7 +204,7 @@
 }
 
 int nandmtd2_QueryNANDBlock(struct yaffs_DeviceStruct *dev, int blockNo,
-			    yaffs_BlockState * state, int *sequenceNumber)
+			    yaffs_BlockState * state, __u32 *sequenceNumber)
 {
 	struct mtd_info *mtd = (struct mtd_info *)(dev->genericDevice);
 	int retval;
--- a/fs/yaffs2/yaffs_mtdif2.h
+++ b/fs/yaffs2/yaffs_mtdif2.h
@@ -24,6 +24,6 @@
 				       __u8 * data, yaffs_ExtendedTags * tags);
 int nandmtd2_MarkNANDBlockBad(struct yaffs_DeviceStruct *dev, int blockNo);
 int nandmtd2_QueryNANDBlock(struct yaffs_DeviceStruct *dev, int blockNo,
-			    yaffs_BlockState * state, int *sequenceNumber);
+			    yaffs_BlockState * state, __u32 *sequenceNumber);
 
 #endif
