*/
 
 static struct map_desc autcpu12_io_desc[] __initdata = {
- /* virtual, physical, length, type */
- /* memory-mapped extra io and CS8900A Ethernet chip */
- /* ethernet chip */
-       { AUTCPU12_VIRT_CS8900A, AUTCPU12_PHYS_CS8900A, SZ_1M, MT_DEVICE }
+       /* memory-mapped extra io and CS8900A Ethernet chip */
+       /* ethernet chip */
+       {
+               .virtual        = AUTCPU12_VIRT_CS8900A,
+               .pfn            = __phys_to_pfn(AUTCPU12_PHYS_CS8900A),
+               .length         = SZ_1M,
+               .type           = MT_DEVICE
+       }
 };
 
 void __init autcpu12_map_io(void)
 
  * ethernet driver, perhaps.
  */
 static struct map_desc cdb89712_io_desc[] __initdata = {
-       { ETHER_BASE, ETHER_START, ETHER_SIZE, MT_DEVICE }
+       {
+               .virtual        = ETHER_BASE,
+               .pfn            =__phys_to_pfn(ETHER_START),
+               .length         = ETHER_SIZE,
+               .type           = MT_DEVICE
+       }
 };
 
 static void __init cdb89712_map_io(void)
 
 #include "common.h"
 
 static struct map_desc ceiva_io_desc[] __initdata = {
- /* virtual, physical, length, type */
-
- /* SED1355 controlled video RAM & registers */
- { CEIVA_VIRT_SED1355, CEIVA_PHYS_SED1355, SZ_2M, MT_DEVICE }
-
+       /* SED1355 controlled video RAM & registers */
+       {
+               .virtual        = CEIVA_VIRT_SED1355,
+               .pfn            = __phys_to_pfn(CEIVA_PHYS_SED1355),
+               .length         = SZ_2M,
+               .type           = MT_DEVICE
+       }
 };
 
 
 
  *     happens).
  */
 static struct map_desc edb7211_io_desc[] __initdata = {
- /* virtual, physical, length, type */
-
- /* memory-mapped extra keyboard row and CS8900A Ethernet chip */
- { EP7211_VIRT_EXTKBD,  EP7211_PHYS_EXTKBD,  SZ_1M, MT_DEVICE }, 
- { EP7211_VIRT_CS8900A, EP7211_PHYS_CS8900A, SZ_1M, MT_DEVICE },
-
- /* flash banks */
- { EP7211_VIRT_FLASH1,  EP7211_PHYS_FLASH1,  SZ_8M, MT_DEVICE },
- { EP7211_VIRT_FLASH2,  EP7211_PHYS_FLASH2,  SZ_8M, MT_DEVICE }
+       {       /* memory-mapped extra keyboard row */
+               .virtual        = EP7211_VIRT_EXTKBD,
+               .pfn            = __phys_to_pfn(EP7211_PHYS_EXTKBD),
+               .length         = SZ_1M,
+               .type           - MT_DEVICE
+       }, {    /* and CS8900A Ethernet chip */
+               .virtual        = EP7211_VIRT_CS8900A,
+               .pfn            = __phys_to_pfn(EP7211_PHYS_CS8900A),
+               .length         = SZ_1M,
+               .type           = MT_DEVICE
+       }, {    /* flash banks */
+               .virtual        = EP7211_VIRT_FLASH1,
+               .pfn            = __phys_to_pfn(EP7211_PHYS_FLASH1),
+               .length         = SZ_8M,
+               .type           = MT_DEVICE
+       }, {
+               .virtual        = EP7211_VIRT_FLASH2,
+               .pfn            = __phys_to_pfn(EP7211_PHYS_FLASH2),
+               .length         = SZ_8M,
+               .type           = MT_DEVICE
+       }
 };
 
 void __init edb7211_map_io(void)
 
 #include <linux/init.h>
 #include <linux/bootmem.h>
 
+#include <asm/sizes.h>
 #include <asm/hardware.h>
 #include <asm/pgtable.h>
 #include <asm/page.h>
  * This maps the generic CLPS711x registers
  */
 static struct map_desc clps711x_io_desc[] __initdata = {
- { CLPS7111_VIRT_BASE, CLPS7111_PHYS_BASE,     1048576, MT_DEVICE }
+       {
+               .virtual        = CLPS7111_VIRT_BASE,
+               .pfn            = __phys_to_pfn(CLPS7111_PHYS_BASE),
+               .length         = SZ_1M,
+               .type           = MT_DEVICE
+       }
 };
 
 void __init clps711x_map_io(void)
 
 #include <asm/pgtable.h>
 #include <asm/page.h>
 #include <asm/setup.h>
+#include <asm/sizes.h>
 #include <asm/mach-types.h>
 #include <asm/mach/arch.h>
 #include <asm/mach/map.h>
  * We map both here.
  */
 static struct map_desc p720t_io_desc[] __initdata = {
-       { SYSPLD_VIRT_BASE,     SYSPLD_PHYS_BASE, 1048576, MT_DEVICE },
-       { 0xfe400000,           0x10400000,       1048576, MT_DEVICE }
+       {
+               .virtual        = SYSPLD_VIRT_BASE,
+               .pfn            = __phys_to_pfn(SYSPLD_PHYS_BASE),
+               .length         = SZ_1M,
+               .type           = MT_DEVICE
+       }, {
+               .virtual        = 0xfe400000,
+               .pfn            = __phys_to_pfn(0x10400000),
+               .length         = SZ_1M,
+               .type           = MT_DEVICE
+       }
 };
 
 static void __init