.bank_type              = METHOD_MPUIO,
        .bank_width             = 16,
        .bank_stride            = 1,
+       .regs                   = &omap15xx_mpuio_regs,
  };
  
 -static struct __initdata platform_device omap15xx_mpu_gpio = {
 +static struct platform_device omap15xx_mpu_gpio = {
        .name           = "omap_gpio",
        .id             = 0,
        .dev            = {
        .virtual_irq_start      = IH_GPIO_BASE,
        .bank_type              = METHOD_GPIO_1510,
        .bank_width             = 16,
+       .regs                   = &omap15xx_gpio_regs,
  };
  
 -static struct __initdata platform_device omap15xx_gpio = {
 +static struct platform_device omap15xx_gpio = {
        .name           = "omap_gpio",
        .id             = 1,
        .dev            = {
 
        .bank_type              = METHOD_MPUIO,
        .bank_width             = 16,
        .bank_stride            = 1,
+       .regs                   = &omap16xx_mpuio_regs,
  };
  
 -static struct __initdata platform_device omap16xx_mpu_gpio = {
 +static struct platform_device omap16xx_mpu_gpio = {
        .name           = "omap_gpio",
        .id             = 0,
        .dev            = {
        .virtual_irq_start      = IH_GPIO_BASE,
        .bank_type              = METHOD_GPIO_1610,
        .bank_width             = 16,
+       .regs                   = &omap16xx_gpio_regs,
  };
  
 -static struct __initdata platform_device omap16xx_gpio1 = {
 +static struct platform_device omap16xx_gpio1 = {
        .name           = "omap_gpio",
        .id             = 1,
        .dev            = {
        .virtual_irq_start      = IH_GPIO_BASE + 16,
        .bank_type              = METHOD_GPIO_1610,
        .bank_width             = 16,
+       .regs                   = &omap16xx_gpio_regs,
  };
  
 -static struct __initdata platform_device omap16xx_gpio2 = {
 +static struct platform_device omap16xx_gpio2 = {
        .name           = "omap_gpio",
        .id             = 2,
        .dev            = {
        .virtual_irq_start      = IH_GPIO_BASE + 32,
        .bank_type              = METHOD_GPIO_1610,
        .bank_width             = 16,
+       .regs                   = &omap16xx_gpio_regs,
  };
  
 -static struct __initdata platform_device omap16xx_gpio3 = {
 +static struct platform_device omap16xx_gpio3 = {
        .name           = "omap_gpio",
        .id             = 3,
        .dev            = {
        .virtual_irq_start      = IH_GPIO_BASE + 48,
        .bank_type              = METHOD_GPIO_1610,
        .bank_width             = 16,
+       .regs                   = &omap16xx_gpio_regs,
  };
  
 -static struct __initdata platform_device omap16xx_gpio4 = {
 +static struct platform_device omap16xx_gpio4 = {
        .name           = "omap_gpio",
        .id             = 4,
        .dev            = {
 
        .bank_type              = METHOD_MPUIO,
        .bank_width             = 32,
        .bank_stride            = 2,
+       .regs                   = &omap7xx_mpuio_regs,
  };
  
 -static struct __initdata platform_device omap7xx_mpu_gpio = {
 +static struct platform_device omap7xx_mpu_gpio = {
        .name           = "omap_gpio",
        .id             = 0,
        .dev            = {
        .virtual_irq_start      = IH_GPIO_BASE,
        .bank_type              = METHOD_GPIO_7XX,
        .bank_width             = 32,
+       .regs                   = &omap7xx_gpio_regs,
  };
  
 -static struct __initdata platform_device omap7xx_gpio1 = {
 +static struct platform_device omap7xx_gpio1 = {
        .name           = "omap_gpio",
        .id             = 1,
        .dev            = {
        .virtual_irq_start      = IH_GPIO_BASE + 32,
        .bank_type              = METHOD_GPIO_7XX,
        .bank_width             = 32,
+       .regs                   = &omap7xx_gpio_regs,
  };
  
 -static struct __initdata platform_device omap7xx_gpio2 = {
 +static struct platform_device omap7xx_gpio2 = {
        .name           = "omap_gpio",
        .id             = 2,
        .dev            = {
        .virtual_irq_start      = IH_GPIO_BASE + 64,
        .bank_type              = METHOD_GPIO_7XX,
        .bank_width             = 32,
+       .regs                   = &omap7xx_gpio_regs,
  };
  
 -static struct __initdata platform_device omap7xx_gpio3 = {
 +static struct platform_device omap7xx_gpio3 = {
        .name           = "omap_gpio",
        .id             = 3,
        .dev            = {
        .virtual_irq_start      = IH_GPIO_BASE + 96,
        .bank_type              = METHOD_GPIO_7XX,
        .bank_width             = 32,
+       .regs                   = &omap7xx_gpio_regs,
  };
  
 -static struct __initdata platform_device omap7xx_gpio4 = {
 +static struct platform_device omap7xx_gpio4 = {
        .name           = "omap_gpio",
        .id             = 4,
        .dev            = {
        .virtual_irq_start      = IH_GPIO_BASE + 128,
        .bank_type              = METHOD_GPIO_7XX,
        .bank_width             = 32,
+       .regs                   = &omap7xx_gpio_regs,
  };
  
 -static struct __initdata platform_device omap7xx_gpio5 = {
 +static struct platform_device omap7xx_gpio5 = {
        .name           = "omap_gpio",
        .id             = 5,
        .dev            = {
        .virtual_irq_start      = IH_GPIO_BASE + 160,
        .bank_type              = METHOD_GPIO_7XX,
        .bank_width             = 32,
+       .regs                   = &omap7xx_gpio_regs,
  };
  
 -static struct __initdata platform_device omap7xx_gpio6 = {
 +static struct platform_device omap7xx_gpio6 = {
        .name           = "omap_gpio",
        .id             = 6,
        .dev            = {