--- /dev/null
+diff -urN dosfstools-2.11/dosfsck/common.h dosfstools-2.11.new/dosfsck/common.h
+--- dosfstools-2.11/dosfsck/common.h 2004-02-25 10:07:01.000000000 +0100
++++ dosfstools-2.11.new/dosfsck/common.h 2006-12-09 16:45:12.000000000 +0100
+@@ -4,9 +4,7 @@
+
+ #include <linux/version.h>
+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 0)
+-# define __KERNEL__
+-# include <asm/types.h>
+-# undef __KERNEL__
++#include <linux/types.h>
+ # define MSDOS_FAT12 4084 /* maximum number of clusters in a 12 bit FAT */
+ #endif
+
+diff -urN dosfstools-2.11/dosfsck/file.c dosfstools-2.11.new/dosfsck/file.c
+--- dosfstools-2.11/dosfsck/file.c 2004-02-25 10:07:38.000000000 +0100
++++ dosfstools-2.11.new/dosfsck/file.c 2006-12-09 16:45:22.000000000 +0100
+@@ -18,9 +18,7 @@
+
+ #include <linux/version.h>
+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 0)
+-# define __KERNEL__
+-# include <asm/types.h>
+-# undef __KERNEL__
++#include <linux/types.h>
+ #endif
+
+ #include <linux/msdos_fs.h>
+diff -urN dosfstools-2.11/dosfsck/io.c dosfstools-2.11.new/dosfsck/io.c
+--- dosfstools-2.11/dosfsck/io.c 2005-03-12 16:33:58.000000000 +0100
++++ dosfstools-2.11.new/dosfsck/io.c 2006-12-09 16:48:43.000000000 +0100
+@@ -19,6 +19,10 @@
+ #include <sys/ioctl.h>
+ #include <errno.h>
+ #include <fcntl.h>
++#include <linux/version.h>
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 0)
++#include <linux/types.h>
++#endif
+ #include <linux/fd.h>
+
+ #include "dosfsck.h"
+diff -urN dosfstools-2.11/mkdosfs/mkdosfs.c dosfstools-2.11.new/mkdosfs/mkdosfs.c
+--- dosfstools-2.11/mkdosfs/mkdosfs.c 2005-03-12 17:12:16.000000000 +0100
++++ dosfstools-2.11.new/mkdosfs/mkdosfs.c 2006-12-09 16:44:57.000000000 +0100
+@@ -68,9 +68,7 @@
+
+ #include <linux/version.h>
+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 0)
+-# define __KERNEL__
+-# include <asm/types.h>
+-# undef __KERNEL__
++#include <linux/types.h>
+ #endif
+
+ #if __BYTE_ORDER == __BIG_ENDIAN