diff --git a/include/compiler.h b/include/compiler.h
index f853ed4787623185bdb9f719c11fed44b3fa491b..47c296e202d1e97388d3207e4f0c2321831a2f87 100644
--- a/include/compiler.h
+++ b/include/compiler.h
@@ -115,6 +115,9 @@ typedef unsigned int uint;
 #ifdef CONFIG_USE_STDINT
 /* Provided by gcc. */
 #include <stdint.h>
+#else
+/* Type for `void *' pointers. */
+typedef unsigned long int uintptr_t;
 #endif
 
 #include <linux/string.h>
diff --git a/include/linux/types.h b/include/linux/types.h
index c7e8fdb9c27b1b4890dd1437712ce4d7ceba0a27..6f75be4253786888b7717febfadc74a22afb29d3 100644
--- a/include/linux/types.h
+++ b/include/linux/types.h
@@ -124,7 +124,6 @@ typedef		__UINT64_TYPE__	u_int64_t;
 typedef		__INT64_TYPE__		int64_t;
 #endif
 
-typedef unsigned long uintptr_t;
 /*
  * Below are truly Linux-specific types that should never collide with
  * any application/library that wants linux/types.h.