Introduce phys_size_t and move phys_addr_t into asm/types.h

Also add CONFIG_PHYS_64BIT on powerpc to deal with 32-bit ppc's
that have larger physical addresses like 44x, 85xx, and 86xx.

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
diff --git a/include/asm-arm/io.h b/include/asm-arm/io.h
index 029b7f9..c33b9e8 100644
--- a/include/asm-arm/io.h
+++ b/include/asm-arm/io.h
@@ -38,8 +38,6 @@
  * that can be used to access the memory range with the caching
  * properties specified by "flags".
  */
-typedef unsigned long phys_addr_t;
-
 #define MAP_NOCACHE	(0)
 #define MAP_WRCOMBINE	(0)
 #define MAP_WRBACK	(0)
diff --git a/include/asm-arm/types.h b/include/asm-arm/types.h
index e56f19d..71dc049 100644
--- a/include/asm-arm/types.h
+++ b/include/asm-arm/types.h
@@ -45,6 +45,9 @@
 
 typedef u32 dma_addr_t;
 
+typedef unsigned long phys_addr_t;
+typedef unsigned long phys_size_t;
+
 #endif /* __KERNEL__ */
 
 #endif
diff --git a/include/asm-avr32/io.h b/include/asm-avr32/io.h
index ba14674..d030c26 100644
--- a/include/asm-avr32/io.h
+++ b/include/asm-avr32/io.h
@@ -101,8 +101,6 @@
  * This implementation works for memory below 512MiB (flash, etc.) as
  * well as above 3.5GiB (internal peripherals.)
  */
-typedef unsigned long phys_addr_t;
-
 #define MAP_NOCACHE	(0)
 #define MAP_WRCOMBINE	(1 << 7)
 #define MAP_WRBACK	(MAP_WRCOMBINE | (1 << 9))
diff --git a/include/asm-avr32/types.h b/include/asm-avr32/types.h
index 2dbea4b..c303e3c 100644
--- a/include/asm-avr32/types.h
+++ b/include/asm-avr32/types.h
@@ -71,6 +71,9 @@
 
 typedef u32 dma_addr_t;
 
+typedef unsigned long phys_addr_t;
+typedef unsigned long phys_size_t;
+
 #ifdef CONFIG_LBD
 typedef u64 sector_t;
 #define HAVE_SECTOR_T
diff --git a/include/asm-blackfin/io.h b/include/asm-blackfin/io.h
index 2149685..da58914 100644
--- a/include/asm-blackfin/io.h
+++ b/include/asm-blackfin/io.h
@@ -45,8 +45,6 @@
  * that can be used to access the memory range with the caching
  * properties specified by "flags".
  */
-typedef unsigned long phys_addr_t;
-
 #define MAP_NOCACHE	(0)
 #define MAP_WRCOMBINE	(0)
 #define MAP_WRBACK	(0)
diff --git a/include/asm-blackfin/types.h b/include/asm-blackfin/types.h
index 9fd8e03..2160ba0 100644
--- a/include/asm-blackfin/types.h
+++ b/include/asm-blackfin/types.h
@@ -78,6 +78,9 @@
 
 typedef u32 dma_addr_t;
 
+typedef unsigned long phys_addr_t;
+typedef unsigned long phys_size_t;
+
 #endif
 
 #endif
diff --git a/include/asm-i386/io.h b/include/asm-i386/io.h
index db4f442..2c57140 100644
--- a/include/asm-i386/io.h
+++ b/include/asm-i386/io.h
@@ -210,8 +210,6 @@
  * that can be used to access the memory range with the caching
  * properties specified by "flags".
  */
-typedef unsigned long phys_addr_t;
-
 #define MAP_NOCACHE	(0)
 #define MAP_WRCOMBINE	(0)
 #define MAP_WRBACK	(0)
diff --git a/include/asm-i386/types.h b/include/asm-i386/types.h
index bdbde41..9a40e38 100644
--- a/include/asm-i386/types.h
+++ b/include/asm-i386/types.h
@@ -45,6 +45,9 @@
 
 typedef u32 dma_addr_t;
 
+typedef unsigned long phys_addr_t;
+typedef unsigned long phys_size_t;
+
 #endif /* __KERNEL__ */
 
 #endif
diff --git a/include/asm-m68k/io.h b/include/asm-m68k/io.h
index 33c454a..1fccc12 100644
--- a/include/asm-m68k/io.h
+++ b/include/asm-m68k/io.h
@@ -232,8 +232,6 @@
  * that can be used to access the memory range with the caching
  * properties specified by "flags".
  */
-typedef unsigned long phys_addr_t;
-
 #define MAP_NOCACHE	(0)
 #define MAP_WRCOMBINE	(0)
 #define MAP_WRBACK	(0)
diff --git a/include/asm-m68k/types.h b/include/asm-m68k/types.h
index e944d3f..44b4ca5 100644
--- a/include/asm-m68k/types.h
+++ b/include/asm-m68k/types.h
@@ -44,6 +44,9 @@
 /* DMA addresses are 32-bits wide */
 typedef u32 dma_addr_t;
 
+typedef unsigned long phys_addr_t;
+typedef unsigned long phys_size_t;
+
 #endif /* __KERNEL__ */
 #endif /* __ASSEMBLY__ */
 
diff --git a/include/asm-microblaze/io.h b/include/asm-microblaze/io.h
index 90d1842..aa37a60 100644
--- a/include/asm-microblaze/io.h
+++ b/include/asm-microblaze/io.h
@@ -134,8 +134,6 @@
  * that can be used to access the memory range with the caching
  * properties specified by "flags".
  */
-typedef unsigned long phys_addr_t;
-
 #define MAP_NOCACHE	(0)
 #define MAP_WRCOMBINE	(0)
 #define MAP_WRBACK	(0)
diff --git a/include/asm-microblaze/types.h b/include/asm-microblaze/types.h
index 3895dc4..77094f6 100644
--- a/include/asm-microblaze/types.h
+++ b/include/asm-microblaze/types.h
@@ -52,6 +52,9 @@
 /* Dma addresses are 32-bits wide.  */
 
 typedef u32 dma_addr_t;
+
+typedef unsigned long phys_addr_t;
+typedef unsigned long phys_size_t;
 #endif /* __KERNEL__ */
 
 #endif /* _ASM_TYPES_H */
diff --git a/include/asm-mips/io.h b/include/asm-mips/io.h
index e27d1f1..7137072 100644
--- a/include/asm-mips/io.h
+++ b/include/asm-mips/io.h
@@ -470,8 +470,6 @@
  * that can be used to access the memory range with the caching
  * properties specified by "flags".
  */
-typedef unsigned long phys_addr_t;
-
 #define MAP_NOCACHE	(0)
 #define MAP_WRCOMBINE	(0)
 #define MAP_WRBACK	(0)
diff --git a/include/asm-mips/types.h b/include/asm-mips/types.h
index f49a217..d4bb859 100644
--- a/include/asm-mips/types.h
+++ b/include/asm-mips/types.h
@@ -78,8 +78,16 @@
 #if (defined(CONFIG_HIGHMEM) && defined(CONFIG_64BIT_PHYS_ADDR)) \
     || defined(CONFIG_64BIT)
 typedef u64 dma_addr_t;
+
+typedef u64 phys_addr_t;
+typedef u64 phys_size_t;
+
 #else
 typedef u32 dma_addr_t;
+
+typedef u32 phys_addr_t;
+typedef u32 phys_size_t;
+
 #endif
 typedef u64 dma64_addr_t;
 
diff --git a/include/asm-nios/io.h b/include/asm-nios/io.h
index 6fc339f..12a0bd9 100644
--- a/include/asm-nios/io.h
+++ b/include/asm-nios/io.h
@@ -114,8 +114,6 @@
  * that can be used to access the memory range with the caching
  * properties specified by "flags".
  */
-typedef unsigned long phys_addr_t;
-
 #define MAP_NOCACHE	(0)
 #define MAP_WRCOMBINE	(0)
 #define MAP_WRBACK	(0)
diff --git a/include/asm-nios/types.h b/include/asm-nios/types.h
index 24c98a8..636e12f 100644
--- a/include/asm-nios/types.h
+++ b/include/asm-nios/types.h
@@ -52,6 +52,9 @@
 /* Dma addresses are 32-bits wide.  */
 
 typedef u32 dma_addr_t;
+
+typedef unsigned long phys_addr_t;
+typedef unsigned long phys_size_t;
 #endif /* __KERNEL__ */
 
 #endif /* _NIOS_TYPES_H */
diff --git a/include/asm-nios2/io.h b/include/asm-nios2/io.h
index a52b95c..2f1ec26 100644
--- a/include/asm-nios2/io.h
+++ b/include/asm-nios2/io.h
@@ -34,8 +34,6 @@
  * that can be used to access the memory range with the caching
  * properties specified by "flags".
  */
-typedef unsigned long phys_addr_t;
-
 #define MAP_NOCACHE	(0)
 #define MAP_WRCOMBINE	(0)
 #define MAP_WRBACK	(0)
diff --git a/include/asm-ppc/io.h b/include/asm-ppc/io.h
index 91c9c1e..00b7ec5 100644
--- a/include/asm-ppc/io.h
+++ b/include/asm-ppc/io.h
@@ -243,8 +243,6 @@
  * that can be used to access the memory range with the caching
  * properties specified by "flags".
  */
-typedef unsigned long phys_addr_t;
-
 #define MAP_NOCACHE	(0)
 #define MAP_WRCOMBINE	(0)
 #define MAP_WRBACK	(0)
diff --git a/include/asm-ppc/types.h b/include/asm-ppc/types.h
index 7adf145..864391f 100644
--- a/include/asm-ppc/types.h
+++ b/include/asm-ppc/types.h
@@ -44,6 +44,14 @@
 /* DMA addresses are 32-bits wide */
 typedef u32 dma_addr_t;
 
+#ifdef CONFIG_PHYS_64BIT
+typedef unsigned long long phys_addr_t;
+typedef unsigned long long phys_size_t;
+#else
+typedef unsigned long phys_addr_t;
+typedef unsigned long phys_size_t;
+#endif
+
 #endif /* __KERNEL__ */
 #endif /* __ASSEMBLY__ */
 
diff --git a/include/asm-sh/io.h b/include/asm-sh/io.h
index 51fd10b..7400293 100644
--- a/include/asm-sh/io.h
+++ b/include/asm-sh/io.h
@@ -233,8 +233,6 @@
  * that can be used to access the memory range with the caching
  * properties specified by "flags".
  */
-typedef unsigned long phys_addr_t;
-
 #define MAP_NOCACHE     (0)
 #define MAP_WRCOMBINE   (0)
 #define MAP_WRBACK      (0)
diff --git a/include/asm-sh/types.h b/include/asm-sh/types.h
index 7ba69d9..aed4a6e 100644
--- a/include/asm-sh/types.h
+++ b/include/asm-sh/types.h
@@ -52,6 +52,9 @@
 
 typedef u32 dma_addr_t;
 
+typedef unsigned long phys_addr_t;
+typedef unsigned long phys_size_t;
+
 #endif /* __ASSEMBLY__ */
 
 #endif /* __KERNEL__ */