kernel: update to 2.6.32.6
[openwrt/staging/chunkeey.git] / target / linux / omap35xx / patches-2.6.32 / 002-OMAP.patch
index 925d7a869a24c7943d7edeb7676c930e5ce0fac9..e2c9056d78ac2e767d073881ae25f6577ad8edb3 100644 (file)
@@ -1,8 +1,6 @@
-diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
-index 1c4119c..e861e32 100644
 --- a/arch/arm/Kconfig
 +++ b/arch/arm/Kconfig
-@@ -1508,6 +1508,10 @@ source "net/Kconfig"
+@@ -1511,6 +1511,10 @@ source "net/Kconfig"
  
  source "drivers/Kconfig"
  
@@ -13,24 +11,9 @@ index 1c4119c..e861e32 100644
  source "fs/Kconfig"
  
  source "arch/arm/Kconfig.debug"
-diff --git a/arch/arm/configs/n8x0_defconfig b/arch/arm/configs/n8x0_defconfig
-index 8da75de..264f52b 100644
---- a/arch/arm/configs/n8x0_defconfig
-+++ b/arch/arm/configs/n8x0_defconfig
-@@ -304,7 +304,7 @@ CONFIG_ALIGNMENT_TRAP=y
- CONFIG_ZBOOT_ROM_TEXT=0x10C08000
- CONFIG_ZBOOT_ROM_BSS=0x10200000
- # CONFIG_ZBOOT_ROM is not set
--CONFIG_CMDLINE="root=1f03 rootfstype=jffs2 console=ttyS0,115200n8"
-+CONFIG_CMDLINE="root=1f03 rootfstype=jffs2 console=ttyS2,115200n8"
- # CONFIG_XIP_KERNEL is not set
- # CONFIG_KEXEC is not set
-diff --git a/arch/arm/mach-omap1/board-fsample.c b/arch/arm/mach-omap1/board-fsample.c
-index a7ead1b..74720e6 100644
 --- a/arch/arm/mach-omap1/board-fsample.c
 +++ b/arch/arm/mach-omap1/board-fsample.c
-@@ -107,7 +107,7 @@ static struct resource smc91x_resources[] = {
+@@ -107,7 +107,7 @@ static struct resource smc91x_resources[
                .flags  = IORESOURCE_MEM,
        },
        [1] = {
@@ -39,7 +22,7 @@ index a7ead1b..74720e6 100644
                .end    = 0,
                .flags  = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHEDGE,
        },
-@@ -196,8 +196,8 @@ static struct platform_device smc91x_device = {
+@@ -196,8 +196,8 @@ static struct platform_device smc91x_dev
  
  static struct resource kp_resources[] = {
        [0] = {
@@ -50,7 +33,7 @@ index a7ead1b..74720e6 100644
                .flags  = IORESOURCE_IRQ,
        },
  };
-@@ -309,7 +309,7 @@ static void __init omap_fsample_map_io(void)
+@@ -309,7 +309,7 @@ static void __init omap_fsample_map_io(v
        /*
         * Hold GSM Reset until needed
         */
@@ -59,7 +42,7 @@ index a7ead1b..74720e6 100644
  
        /*
         * UARTs -> done automagically by 8250 driver
-@@ -320,21 +320,21 @@ static void __init omap_fsample_map_io(void)
+@@ -320,21 +320,21 @@ static void __init omap_fsample_map_io(v
         */
  
        /* Flash: CS0 timings setup */
@@ -86,11 +69,9 @@ index a7ead1b..74720e6 100644
  }
  
  MACHINE_START(OMAP_FSAMPLE, "OMAP730 F-Sample")
-diff --git a/arch/arm/mach-omap1/board-perseus2.c b/arch/arm/mach-omap1/board-perseus2.c
-index 8340669..2f897cf 100644
 --- a/arch/arm/mach-omap1/board-perseus2.c
 +++ b/arch/arm/mach-omap1/board-perseus2.c
-@@ -74,7 +74,7 @@ static struct resource smc91x_resources[] = {
+@@ -74,7 +74,7 @@ static struct resource smc91x_resources[
                .flags  = IORESOURCE_MEM,
        },
        [1] = {
@@ -99,7 +80,7 @@ index 8340669..2f897cf 100644
                .end    = 0,
                .flags  = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHEDGE,
        },
-@@ -163,8 +163,8 @@ static struct platform_device smc91x_device = {
+@@ -163,8 +163,8 @@ static struct platform_device smc91x_dev
  
  static struct resource kp_resources[] = {
        [0] = {
@@ -110,7 +91,7 @@ index 8340669..2f897cf 100644
                .flags  = IORESOURCE_IRQ,
        },
  };
-@@ -270,7 +270,7 @@ static void __init omap_perseus2_map_io(void)
+@@ -270,7 +270,7 @@ static void __init omap_perseus2_map_io(
        /*
         * Hold GSM Reset until needed
         */
@@ -119,7 +100,7 @@ index 8340669..2f897cf 100644
  
        /*
         * UARTs -> done automagically by 8250 driver
-@@ -281,21 +281,21 @@ static void __init omap_perseus2_map_io(void)
+@@ -281,21 +281,21 @@ static void __init omap_perseus2_map_io(
         */
  
        /* Flash: CS0 timings setup */
@@ -146,8 +127,6 @@ index 8340669..2f897cf 100644
  }
  
  MACHINE_START(OMAP_PERSEUS2, "OMAP730 Perseus2")
-diff --git a/arch/arm/mach-omap1/clock.c b/arch/arm/mach-omap1/clock.c
-index 436eed2..5f77b83 100644
 --- a/arch/arm/mach-omap1/clock.c
 +++ b/arch/arm/mach-omap1/clock.c
 @@ -69,13 +69,13 @@ struct omap_clk {
@@ -193,7 +172,7 @@ index 436eed2..5f77b83 100644
        CLK(NULL,       "lcd_ck",       &lcd_ck_1510.clk, CK_1510 | CK_310),
        /* ULPD clocks */
        CLK(NULL,       "uart1_ck",     &uart1_1510,    CK_1510 | CK_310),
-@@ -398,7 +398,7 @@ static int omap1_select_table_rate(struct clk * clk, unsigned long rate)
+@@ -398,7 +398,7 @@ static int omap1_select_table_rate(struc
         * Reprogramming the DPLL is tricky, it must be done from SRAM.
         * (on 730, bit 13 must always be 1)
         */
@@ -249,11 +228,9 @@ index 436eed2..5f77b83 100644
                omap_writew(omap_readw(ARM_CKCTL) & 0x2fff, ARM_CKCTL);
        else
                omap_writew(omap_readw(ARM_CKCTL) & 0x0fff, ARM_CKCTL);
-diff --git a/arch/arm/mach-omap1/io.c b/arch/arm/mach-omap1/io.c
-index 7030f92..a27df2c 100644
 --- a/arch/arm/mach-omap1/io.c
 +++ b/arch/arm/mach-omap1/io.c
-@@ -36,33 +36,17 @@ static struct map_desc omap_io_desc[] __initdata = {
+@@ -36,33 +36,17 @@ static struct map_desc omap_io_desc[] __
        }
  };
  
@@ -317,11 +294,9 @@ index 7030f92..a27df2c 100644
  #ifdef CONFIG_ARCH_OMAP15XX
        if (cpu_is_omap15xx()) {
                iotable_init(omap1510_io_desc, ARRAY_SIZE(omap1510_io_desc));
-diff --git a/arch/arm/mach-omap1/irq.c b/arch/arm/mach-omap1/irq.c
-index de03c84..8f98b58 100644
 --- a/arch/arm/mach-omap1/irq.c
 +++ b/arch/arm/mach-omap1/irq.c
-@@ -137,16 +137,8 @@ static void omap_irq_set_cfg(int irq, int fiq, int priority, int trigger)
+@@ -137,16 +137,8 @@ static void omap_irq_set_cfg(int irq, in
        irq_bank_writel(val, bank, offset);
  }
  
@@ -374,11 +349,9 @@ index de03c84..8f98b58 100644
        else if (cpu_is_omap15xx())
                omap_unmask_irq(INT_1510_IH2_IRQ);
        else if (cpu_is_omap16xx())
-diff --git a/arch/arm/mach-omap1/mcbsp.c b/arch/arm/mach-omap1/mcbsp.c
-index 505d98c..3a51cb2 100644
 --- a/arch/arm/mach-omap1/mcbsp.c
 +++ b/arch/arm/mach-omap1/mcbsp.c
-@@ -79,29 +79,29 @@ static struct omap_mcbsp_ops omap1_mcbsp_ops = {
+@@ -79,29 +79,29 @@ static struct omap_mcbsp_ops omap1_mcbsp
        .free           = omap1_mcbsp_free,
  };
  
@@ -419,7 +392,7 @@ index 505d98c..3a51cb2 100644
  #endif
  
  #ifdef CONFIG_ARCH_OMAP15XX
-@@ -172,8 +172,8 @@ static struct omap_mcbsp_platform_data omap16xx_mcbsp_pdata[] = {
+@@ -172,8 +172,8 @@ static struct omap_mcbsp_platform_data o
  
  int __init omap1_mcbsp_init(void)
  {
@@ -443,8 +416,6 @@ index 505d98c..3a51cb2 100644
  
        if (cpu_is_omap15xx())
                omap_mcbsp_register_board_cfg(omap15xx_mcbsp_pdata,
-diff --git a/arch/arm/mach-omap1/mux.c b/arch/arm/mach-omap1/mux.c
-index 721e0d9..d59899d 100644
 --- a/arch/arm/mach-omap1/mux.c
 +++ b/arch/arm/mach-omap1/mux.c
 @@ -35,47 +35,28 @@
@@ -515,7 +486,7 @@ index 721e0d9..d59899d 100644
  
  #if defined(CONFIG_ARCH_OMAP15XX) || defined(CONFIG_ARCH_OMAP16XX)
  static struct pin_config __initdata_or_module omap1xxx_pins[] = {
-@@ -438,11 +419,6 @@ int __init_or_module omap1_cfg_reg(const struct pin_config *cfg)
+@@ -438,11 +419,6 @@ int __init_or_module omap1_cfg_reg(const
                        printk("      %s (0x%08x) = 0x%08x -> 0x%08x\n",
                               cfg->pull_name, cfg->pull_reg, pull_orig, pull);
        }
@@ -527,7 +498,7 @@ index 721e0d9..d59899d 100644
  #endif
  
  #ifdef CONFIG_OMAP_MUX_ERRORS
-@@ -454,9 +430,9 @@ int __init_or_module omap1_cfg_reg(const struct pin_config *cfg)
+@@ -454,9 +430,9 @@ int __init_or_module omap1_cfg_reg(const
  
  int __init omap1_mux_init(void)
  {
@@ -540,8 +511,6 @@ index 721e0d9..d59899d 100644
                arch_mux_cfg.cfg_reg    = omap1_cfg_reg;
        }
  
-diff --git a/arch/arm/mach-omap1/pm.c b/arch/arm/mach-omap1/pm.c
-index 5218943..10f4e4a 100644
 --- a/arch/arm/mach-omap1/pm.c
 +++ b/arch/arm/mach-omap1/pm.c
 @@ -62,7 +62,7 @@
@@ -723,8 +692,6 @@ index 5218943..10f4e4a 100644
        else if (cpu_is_omap16xx())
                omap_writel(OMAP1610_IDLECT3_VAL, OMAP1610_IDLECT3);
  
-diff --git a/arch/arm/mach-omap1/pm.h b/arch/arm/mach-omap1/pm.h
-index c4f05bd..56a6479 100644
 --- a/arch/arm/mach-omap1/pm.h
 +++ b/arch/arm/mach-omap1/pm.h
 @@ -98,13 +98,14 @@
@@ -769,7 +736,7 @@ index c4f05bd..56a6479 100644
  extern unsigned int omap1510_idle_loop_suspend_sz;
  extern unsigned int omap1610_idle_loop_suspend_sz;
  
-@@ -155,9 +156,9 @@ extern void omap_serial_wake_trigger(int enable);
+@@ -155,9 +156,9 @@ extern void omap_serial_wake_trigger(int
  #define ULPD_RESTORE(x) omap_writew((ulpd_sleep_save[ULPD_SLEEP_SAVE_##x]), (x))
  #define ULPD_SHOW(x) ulpd_sleep_save[ULPD_SLEEP_SAVE_##x]
  
@@ -821,11 +788,9 @@ index c4f05bd..56a6479 100644
  #endif
  };
  
-diff --git a/arch/arm/mach-omap1/serial.c b/arch/arm/mach-omap1/serial.c
-index d496e50..332c516 100644
 --- a/arch/arm/mach-omap1/serial.c
 +++ b/arch/arm/mach-omap1/serial.c
-@@ -64,7 +64,6 @@ static void __init omap_serial_reset(struct plat_serial8250_port *p)
+@@ -64,7 +64,6 @@ static void __init omap_serial_reset(str
  
  static struct plat_serial8250_port serial_platform_data[] = {
        {
@@ -833,7 +798,7 @@ index d496e50..332c516 100644
                .mapbase        = OMAP_UART1_BASE,
                .irq            = INT_UART1,
                .flags          = UPF_BOOT_AUTOCONF,
-@@ -73,7 +72,6 @@ static struct plat_serial8250_port serial_platform_data[] = {
+@@ -73,7 +72,6 @@ static struct plat_serial8250_port seria
                .uartclk        = OMAP16XX_BASE_BAUD * 16,
        },
        {
@@ -841,7 +806,7 @@ index d496e50..332c516 100644
                .mapbase        = OMAP_UART2_BASE,
                .irq            = INT_UART2,
                .flags          = UPF_BOOT_AUTOCONF,
-@@ -82,7 +80,6 @@ static struct plat_serial8250_port serial_platform_data[] = {
+@@ -82,7 +80,6 @@ static struct plat_serial8250_port seria
                .uartclk        = OMAP16XX_BASE_BAUD * 16,
        },
        {
@@ -849,7 +814,7 @@ index d496e50..332c516 100644
                .mapbase        = OMAP_UART3_BASE,
                .irq            = INT_UART3,
                .flags          = UPF_BOOT_AUTOCONF,
-@@ -90,7 +87,6 @@ static struct plat_serial8250_port serial_platform_data[] = {
+@@ -90,7 +87,6 @@ static struct plat_serial8250_port seria
                .regshift       = 2,
                .uartclk        = OMAP16XX_BASE_BAUD * 16,
        },
@@ -879,27 +844,6 @@ index d496e50..332c516 100644
        }
  
        if (cpu_is_omap15xx()) {
-@@ -130,9 +119,17 @@ void __init omap_serial_init(void)
-               serial_platform_data[2].uartclk = OMAP1510_BASE_BAUD * 16;
-       }
--      for (i = 0; i < OMAP_MAX_NR_PORTS; i++) {
-+      for (i = 0; i < ARRAY_SIZE(serial_platform_data); i++) {
-               unsigned char reg;
-+              /* Static mapping, never released */
-+              serial_platform_data[i].membase =
-+                      ioremap(serial_platform_data[i].mapbase, SZ_2K);
-+              if (!serial_platform_data[i].membase) {
-+                      printk(KERN_ERR "Could not ioremap uart%i\n", i);
-+                      continue;
-+              }
-+
-               switch (i) {
-               case 0:
-                       uart1_ck = clk_get(NULL, "uart1_ck");
-diff --git a/arch/arm/mach-omap1/sleep.S b/arch/arm/mach-omap1/sleep.S
-index 22e8568..ef771ce 100644
 --- a/arch/arm/mach-omap1/sleep.S
 +++ b/arch/arm/mach-omap1/sleep.S
 @@ -1,7 +1,7 @@
@@ -962,11 +906,9 @@ index 22e8568..ef771ce 100644
  
  #ifdef CONFIG_ARCH_OMAP15XX
  ENTRY(omap1510_cpu_suspend)
-diff --git a/arch/arm/mach-omap2/Makefile b/arch/arm/mach-omap2/Makefile
-index 8cb1677..6b7702f 100644
 --- a/arch/arm/mach-omap2/Makefile
 +++ b/arch/arm/mach-omap2/Makefile
-@@ -80,6 +80,7 @@ obj-$(CONFIG_MACH_OMAP_4430SDP)              += board-4430sdp.o
+@@ -80,6 +80,7 @@ obj-$(CONFIG_MACH_OMAP_4430SDP)              += boar
  # Platform specific device init code
  obj-y                                 += usb-musb.o
  obj-$(CONFIG_MACH_OMAP2_TUSB6010)     += usb-tusb6010.o
@@ -974,11 +916,9 @@ index 8cb1677..6b7702f 100644
  
  onenand-$(CONFIG_MTD_ONENAND_OMAP2)   := gpmc-onenand.o
  obj-y                                 += $(onenand-m) $(onenand-y)
-diff --git a/arch/arm/mach-omap2/board-2430sdp.c b/arch/arm/mach-omap2/board-2430sdp.c
-index 42217b3..e032a33 100644
 --- a/arch/arm/mach-omap2/board-2430sdp.c
 +++ b/arch/arm/mach-omap2/board-2430sdp.c
-@@ -221,7 +221,7 @@ static void __init omap_2430sdp_map_io(void)
+@@ -221,7 +221,7 @@ static void __init omap_2430sdp_map_io(v
  MACHINE_START(OMAP_2430SDP, "OMAP2430 sdp2430 board")
        /* Maintainer: Syed Khasim - Texas Instruments Inc */
        .phys_io        = 0x48000000,
@@ -987,11 +927,9 @@ index 42217b3..e032a33 100644
        .boot_params    = 0x80000100,
        .map_io         = omap_2430sdp_map_io,
        .init_irq       = omap_2430sdp_init_irq,
-diff --git a/arch/arm/mach-omap2/board-3430sdp.c b/arch/arm/mach-omap2/board-3430sdp.c
-index efaf053..81aabac 100644
 --- a/arch/arm/mach-omap2/board-3430sdp.c
 +++ b/arch/arm/mach-omap2/board-3430sdp.c
-@@ -484,6 +484,18 @@ static void enable_board_wakeup_source(void)
+@@ -618,6 +618,18 @@ static void enable_board_wakeup_source(v
        omap_cfg_reg(AF26_34XX_SYS_NIRQ); /* T2 interrupt line (keypad) */
  }
  
@@ -1010,15 +948,15 @@ index efaf053..81aabac 100644
  static void __init omap_3430sdp_init(void)
  {
        omap3430_i2c_init();
-@@ -500,6 +512,7 @@ static void __init omap_3430sdp_init(void)
-       usb_musb_init();
+@@ -635,6 +647,7 @@ static void __init omap_3430sdp_init(voi
        board_smc91x_init();
+       sdp3430_display_init();
        enable_board_wakeup_source();
 +      usb_ehci_init(&ehci_pdata);
  }
  
  static void __init omap_3430sdp_map_io(void)
-@@ -511,7 +524,7 @@ static void __init omap_3430sdp_map_io(void)
+@@ -646,7 +659,7 @@ static void __init omap_3430sdp_map_io(v
  MACHINE_START(OMAP_3430SDP, "OMAP3430 3430SDP board")
        /* Maintainer: Syed Khasim - Texas Instruments Inc */
        .phys_io        = 0x48000000,
@@ -1027,11 +965,9 @@ index efaf053..81aabac 100644
        .boot_params    = 0x80000100,
        .map_io         = omap_3430sdp_map_io,
        .init_irq       = omap_3430sdp_init_irq,
-diff --git a/arch/arm/mach-omap2/board-4430sdp.c b/arch/arm/mach-omap2/board-4430sdp.c
-index eb37c40..50a62f2 100644
 --- a/arch/arm/mach-omap2/board-4430sdp.c
 +++ b/arch/arm/mach-omap2/board-4430sdp.c
-@@ -52,8 +52,17 @@ static struct omap_board_config_kernel sdp4430_config[] __initdata = {
+@@ -52,8 +52,17 @@ static struct omap_board_config_kernel s
  
  static void __init gic_init_irq(void)
  {
@@ -1051,7 +987,7 @@ index eb37c40..50a62f2 100644
  }
  
  static void __init omap_4430sdp_init_irq(void)
-@@ -84,7 +93,7 @@ static void __init omap_4430sdp_map_io(void)
+@@ -84,7 +93,7 @@ static void __init omap_4430sdp_map_io(v
  MACHINE_START(OMAP_4430SDP, "OMAP4430 4430SDP board")
        /* Maintainer: Santosh Shilimkar - Texas Instruments Inc */
        .phys_io        = 0x48000000,
@@ -1060,11 +996,9 @@ index eb37c40..50a62f2 100644
        .boot_params    = 0x80000100,
        .map_io         = omap_4430sdp_map_io,
        .init_irq       = omap_4430sdp_init_irq,
-diff --git a/arch/arm/mach-omap2/board-apollon.c b/arch/arm/mach-omap2/board-apollon.c
-index a113228..e8a0e56 100644
 --- a/arch/arm/mach-omap2/board-apollon.c
 +++ b/arch/arm/mach-omap2/board-apollon.c
-@@ -333,7 +333,7 @@ static void __init omap_apollon_map_io(void)
+@@ -333,7 +333,7 @@ static void __init omap_apollon_map_io(v
  MACHINE_START(OMAP_APOLLON, "OMAP24xx Apollon")
        /* Maintainer: Kyungmin Park <kyungmin.park@samsung.com> */
        .phys_io        = 0x48000000,
@@ -1073,11 +1007,9 @@ index a113228..e8a0e56 100644
        .boot_params    = 0x80000100,
        .map_io         = omap_apollon_map_io,
        .init_irq       = omap_apollon_init_irq,
-diff --git a/arch/arm/mach-omap2/board-generic.c b/arch/arm/mach-omap2/board-generic.c
-index 2e09a1c..1a139c0 100644
 --- a/arch/arm/mach-omap2/board-generic.c
 +++ b/arch/arm/mach-omap2/board-generic.c
-@@ -56,7 +56,7 @@ static void __init omap_generic_map_io(void)
+@@ -56,7 +56,7 @@ static void __init omap_generic_map_io(v
  MACHINE_START(OMAP_GENERIC, "Generic OMAP24xx")
        /* Maintainer: Paul Mundt <paul.mundt@nokia.com> */
        .phys_io        = 0x48000000,
@@ -1086,8 +1018,6 @@ index 2e09a1c..1a139c0 100644
        .boot_params    = 0x80000100,
        .map_io         = omap_generic_map_io,
        .init_irq       = omap_generic_init_irq,
-diff --git a/arch/arm/mach-omap2/board-h4.c b/arch/arm/mach-omap2/board-h4.c
-index eaa02d0..86f78f3 100644
 --- a/arch/arm/mach-omap2/board-h4.c
 +++ b/arch/arm/mach-omap2/board-h4.c
 @@ -376,7 +376,7 @@ static void __init omap_h4_map_io(void)
@@ -1099,8 +1029,6 @@ index eaa02d0..86f78f3 100644
        .boot_params    = 0x80000100,
        .map_io         = omap_h4_map_io,
        .init_irq       = omap_h4_init_irq,
-diff --git a/arch/arm/mach-omap2/board-ldp.c b/arch/arm/mach-omap2/board-ldp.c
-index d110a7f..4ccc01a 100644
 --- a/arch/arm/mach-omap2/board-ldp.c
 +++ b/arch/arm/mach-omap2/board-ldp.c
 @@ -399,7 +399,7 @@ static void __init omap_ldp_map_io(void)
@@ -1112,11 +1040,9 @@ index d110a7f..4ccc01a 100644
        .boot_params    = 0x80000100,
        .map_io         = omap_ldp_map_io,
        .init_irq       = omap_ldp_init_irq,
-diff --git a/arch/arm/mach-omap2/board-n8x0.c b/arch/arm/mach-omap2/board-n8x0.c
-index 8341632..2f6ccba 100644
 --- a/arch/arm/mach-omap2/board-n8x0.c
 +++ b/arch/arm/mach-omap2/board-n8x0.c
-@@ -121,7 +121,7 @@ static void __init n8x0_init_machine(void)
+@@ -121,7 +121,7 @@ static void __init n8x0_init_machine(voi
  
  MACHINE_START(NOKIA_N800, "Nokia N800")
        .phys_io        = 0x48000000,
@@ -1143,11 +1069,9 @@ index 8341632..2f6ccba 100644
        .boot_params    = 0x80000100,
        .map_io         = n8x0_map_io,
        .init_irq       = n8x0_init_irq,
-diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c
-index 70df6b4..9824073 100644
 --- a/arch/arm/mach-omap2/board-omap3beagle.c
 +++ b/arch/arm/mach-omap2/board-omap3beagle.c
-@@ -400,6 +400,18 @@ static void __init omap3beagle_flash_init(void)
+@@ -400,6 +400,18 @@ static void __init omap3beagle_flash_ini
        }
  }
  
@@ -1166,7 +1090,7 @@ index 70df6b4..9824073 100644
  static void __init omap3_beagle_init(void)
  {
        omap3_beagle_i2c_init();
-@@ -413,6 +425,7 @@ static void __init omap3_beagle_init(void)
+@@ -413,6 +425,7 @@ static void __init omap3_beagle_init(voi
        gpio_direction_output(170, true);
  
        usb_musb_init();
@@ -1174,7 +1098,7 @@ index 70df6b4..9824073 100644
        omap3beagle_flash_init();
  
        /* Ensure SDRC pins are mux'd for self-refresh */
-@@ -429,7 +442,7 @@ static void __init omap3_beagle_map_io(void)
+@@ -429,7 +442,7 @@ static void __init omap3_beagle_map_io(v
  MACHINE_START(OMAP3_BEAGLE, "OMAP3 Beagle Board")
        /* Maintainer: Syed Mohammed Khasim - http://beagleboard.org */
        .phys_io        = 0x48000000,
@@ -1183,11 +1107,9 @@ index 70df6b4..9824073 100644
        .boot_params    = 0x80000100,
        .map_io         = omap3_beagle_map_io,
        .init_irq       = omap3_beagle_init_irq,
-diff --git a/arch/arm/mach-omap2/board-omap3evm.c b/arch/arm/mach-omap2/board-omap3evm.c
-index e4ec0c5..9e0b6e6 100644
 --- a/arch/arm/mach-omap2/board-omap3evm.c
 +++ b/arch/arm/mach-omap2/board-omap3evm.c
-@@ -297,6 +297,18 @@ static struct platform_device *omap3_evm_devices[] __initdata = {
+@@ -297,6 +297,18 @@ static struct platform_device *omap3_evm
        &omap3evm_smc911x_device,
  };
  
@@ -1216,7 +1138,7 @@ index e4ec0c5..9e0b6e6 100644
        ads7846_dev_init();
  }
  
-@@ -324,7 +339,7 @@ static void __init omap3_evm_map_io(void)
+@@ -324,7 +339,7 @@ static void __init omap3_evm_map_io(void
  MACHINE_START(OMAP3EVM, "OMAP3 EVM")
        /* Maintainer: Syed Mohammed Khasim - Texas Instruments */
        .phys_io        = 0x48000000,
@@ -1225,11 +1147,9 @@ index e4ec0c5..9e0b6e6 100644
        .boot_params    = 0x80000100,
        .map_io         = omap3_evm_map_io,
        .init_irq       = omap3_evm_init_irq,
-diff --git a/arch/arm/mach-omap2/board-omap3pandora.c b/arch/arm/mach-omap2/board-omap3pandora.c
-index 7f6bf87..82b2486 100644
 --- a/arch/arm/mach-omap2/board-omap3pandora.c
 +++ b/arch/arm/mach-omap2/board-omap3pandora.c
-@@ -387,6 +387,18 @@ static struct platform_device *omap3pandora_devices[] __initdata = {
+@@ -387,6 +387,18 @@ static struct platform_device *omap3pand
        &pandora_keys_gpio,
  };
  
@@ -1248,7 +1168,7 @@ index 7f6bf87..82b2486 100644
  static void __init omap3pandora_init(void)
  {
        omap3pandora_i2c_init();
-@@ -396,6 +408,7 @@ static void __init omap3pandora_init(void)
+@@ -396,6 +408,7 @@ static void __init omap3pandora_init(voi
        spi_register_board_info(omap3pandora_spi_board_info,
                        ARRAY_SIZE(omap3pandora_spi_board_info));
        omap3pandora_ads7846_init();
@@ -1256,7 +1176,7 @@ index 7f6bf87..82b2486 100644
        pandora_keys_gpio_init();
        usb_musb_init();
  
-@@ -412,7 +425,7 @@ static void __init omap3pandora_map_io(void)
+@@ -412,7 +425,7 @@ static void __init omap3pandora_map_io(v
  
  MACHINE_START(OMAP3_PANDORA, "Pandora Handheld Console")
        .phys_io        = 0x48000000,
@@ -1265,11 +1185,9 @@ index 7f6bf87..82b2486 100644
        .boot_params    = 0x80000100,
        .map_io         = omap3pandora_map_io,
        .init_irq       = omap3pandora_init_irq,
-diff --git a/arch/arm/mach-omap2/board-overo.c b/arch/arm/mach-omap2/board-overo.c
-index 9917d2f..d50a3f0 100644
 --- a/arch/arm/mach-omap2/board-overo.c
 +++ b/arch/arm/mach-omap2/board-overo.c
-@@ -384,6 +384,18 @@ static struct platform_device *overo_devices[] __initdata = {
+@@ -384,6 +384,18 @@ static struct platform_device *overo_dev
        &overo_lcd_device,
  };
  
@@ -1320,11 +1238,9 @@ index 9917d2f..d50a3f0 100644
        .boot_params    = 0x80000100,
        .map_io         = overo_map_io,
        .init_irq       = overo_init_irq,
-diff --git a/arch/arm/mach-omap2/board-rx51.c b/arch/arm/mach-omap2/board-rx51.c
-index f9196c3..c973812 100644
 --- a/arch/arm/mach-omap2/board-rx51.c
 +++ b/arch/arm/mach-omap2/board-rx51.c
-@@ -85,7 +85,7 @@ static void __init rx51_map_io(void)
+@@ -84,7 +84,7 @@ static void __init rx51_map_io(void)
  MACHINE_START(NOKIA_RX51, "Nokia RX-51 board")
        /* Maintainer: Lauri Leukkunen <lauri.leukkunen@nokia.com> */
        .phys_io        = 0x48000000,
@@ -1333,11 +1249,9 @@ index f9196c3..c973812 100644
        .boot_params    = 0x80000100,
        .map_io         = rx51_map_io,
        .init_irq       = rx51_init_irq,
-diff --git a/arch/arm/mach-omap2/board-zoom2.c b/arch/arm/mach-omap2/board-zoom2.c
-index fd3369d..48bd2af 100644
 --- a/arch/arm/mach-omap2/board-zoom2.c
 +++ b/arch/arm/mach-omap2/board-zoom2.c
-@@ -283,7 +283,7 @@ static void __init omap_zoom2_map_io(void)
+@@ -282,7 +282,7 @@ static void __init omap_zoom2_map_io(voi
  
  MACHINE_START(OMAP_ZOOM2, "OMAP Zoom2 board")
        .phys_io        = 0x48000000,
@@ -1346,8 +1260,6 @@ index fd3369d..48bd2af 100644
        .boot_params    = 0x80000100,
        .map_io         = omap_zoom2_map_io,
        .init_irq       = omap_zoom2_init_irq,
-diff --git a/arch/arm/mach-omap2/cm.h b/arch/arm/mach-omap2/cm.h
-index cfd0b72..a2fcfcc 100644
 --- a/arch/arm/mach-omap2/cm.h
 +++ b/arch/arm/mach-omap2/cm.h
 @@ -17,11 +17,11 @@
@@ -1365,8 +1277,6 @@ index cfd0b72..a2fcfcc 100644
  
  /*
   * Architecture-specific global CM registers
-diff --git a/arch/arm/mach-omap2/id.c b/arch/arm/mach-omap2/id.c
-index a98201c..71d5568 100644
 --- a/arch/arm/mach-omap2/id.c
 +++ b/arch/arm/mach-omap2/id.c
 @@ -28,6 +28,7 @@
@@ -1377,7 +1287,7 @@ index a98201c..71d5568 100644
  
  unsigned int omap_rev(void)
  {
-@@ -155,12 +156,37 @@ void __init omap24xx_check_revision(void)
+@@ -155,12 +156,37 @@ void __init omap24xx_check_revision(void
        pr_info("\n");
  }
  
@@ -1417,7 +1327,7 @@ index a98201c..71d5568 100644
  
        /*
         * We cannot access revision registers on ES1.0.
-@@ -170,7 +196,7 @@ void __init omap34xx_check_revision(void)
+@@ -170,7 +196,7 @@ void __init omap34xx_check_revision(void
        cpuid = read_cpuid(CPUID_ID);
        if ((((cpuid >> 4) & 0xfff) == 0xc08) && ((cpuid & 0xf) == 0x0)) {
                omap_revision = OMAP3430_REV_ES1_0;
@@ -1426,7 +1336,7 @@ index a98201c..71d5568 100644
        }
  
        /*
-@@ -183,33 +209,111 @@ void __init omap34xx_check_revision(void)
+@@ -183,33 +209,111 @@ void __init omap34xx_check_revision(void
        hawkeye = (idcode >> 12) & 0xffff;
        rev = (idcode >> 28) & 0xff;
  
@@ -1561,11 +1471,9 @@ index a98201c..71d5568 100644
        else if (cpu_is_omap44xx()) {
                printk(KERN_INFO "FIXME: CPU revision = OMAP4430\n");
                return;
-diff --git a/arch/arm/mach-omap2/io.c b/arch/arm/mach-omap2/io.c
-index e3a3bad..fc62953 100644
 --- a/arch/arm/mach-omap2/io.c
 +++ b/arch/arm/mach-omap2/io.c
-@@ -203,6 +203,24 @@ static struct map_desc omap44xx_io_desc[] __initdata = {
+@@ -204,6 +204,24 @@ static struct map_desc omap44xx_io_desc[
                .type           = MT_DEVICE,
        },
        {
@@ -1590,8 +1498,6 @@ index e3a3bad..fc62953 100644
                .virtual        = L4_PER_44XX_VIRT,
                .pfn            = __phys_to_pfn(L4_PER_44XX_PHYS),
                .length         = L4_PER_44XX_SIZE,
-diff --git a/arch/arm/mach-omap2/irq.c b/arch/arm/mach-omap2/irq.c
-index b828638..1db121f 100644
 --- a/arch/arm/mach-omap2/irq.c
 +++ b/arch/arm/mach-omap2/irq.c
 @@ -178,12 +178,20 @@ void __init omap_init_irq(void)
@@ -1617,8 +1523,6 @@ index b828638..1db121f 100644
  
                omap_irq_bank_init_one(bank);
  
-diff --git a/arch/arm/mach-omap2/omap-smp.c b/arch/arm/mach-omap2/omap-smp.c
-index 48ee295..a1b618c 100644
 --- a/arch/arm/mach-omap2/omap-smp.c
 +++ b/arch/arm/mach-omap2/omap-smp.c
 @@ -26,11 +26,11 @@
@@ -1645,7 +1549,7 @@ index 48ee295..a1b618c 100644
        trace_hardirqs_off();
  
        /*
-@@ -54,7 +56,10 @@ void __cpuinit platform_secondary_init(unsigned int cpu)
+@@ -54,7 +56,10 @@ void __cpuinit platform_secondary_init(u
         * for us: do so
         */
  
@@ -1657,7 +1561,7 @@ index 48ee295..a1b618c 100644
  
        /*
         * Synchronise with the boot thread.
-@@ -79,7 +84,7 @@ int __cpuinit boot_secondary(unsigned int cpu, struct task_struct *idle)
+@@ -79,7 +84,7 @@ int __cpuinit boot_secondary(unsigned in
         * the AuxCoreBoot1 register is updated with cpu state
         * A barrier is added to ensure that write buffer is drained
         */
@@ -1666,7 +1570,7 @@ index 48ee295..a1b618c 100644
        smp_wmb();
  
        timeout = jiffies + (1 * HZ);
-@@ -104,7 +109,7 @@ static void __init wakeup_secondary(void)
+@@ -104,7 +109,7 @@ static void __init wakeup_secondary(void
         * A barrier is added to ensure that write buffer is drained
         */
        __raw_writel(virt_to_phys(omap_secondary_startup),         \
@@ -1675,7 +1579,7 @@ index 48ee295..a1b618c 100644
        smp_wmb();
  
        /*
-@@ -130,6 +135,7 @@ void __init smp_prepare_cpus(unsigned int max_cpus)
+@@ -130,6 +135,7 @@ void __init smp_prepare_cpus(unsigned in
  {
        unsigned int ncores = get_core_count();
        unsigned int cpu = smp_processor_id();
@@ -1683,7 +1587,7 @@ index 48ee295..a1b618c 100644
        int i;
  
        /* sanity check */
-@@ -161,6 +167,16 @@ void __init smp_prepare_cpus(unsigned int max_cpus)
+@@ -161,6 +167,16 @@ void __init smp_prepare_cpus(unsigned in
        for (i = 0; i < max_cpus; i++)
                set_cpu_present(i, true);
  
@@ -1700,11 +1604,9 @@ index 48ee295..a1b618c 100644
        if (max_cpus > 1) {
                /*
                 * Enable the local timer or broadcast device for the
-diff --git a/arch/arm/mach-omap2/omap_hwmod.c b/arch/arm/mach-omap2/omap_hwmod.c
-index d2e0f1c..8ac8798 100644
 --- a/arch/arm/mach-omap2/omap_hwmod.c
 +++ b/arch/arm/mach-omap2/omap_hwmod.c
-@@ -496,6 +496,7 @@ static void __iomem *_find_mpu_rt_base(struct omap_hwmod *oh, u8 index)
+@@ -496,6 +496,7 @@ static void __iomem *_find_mpu_rt_base(s
        struct omap_hwmod_addr_space *mem;
        int i;
        int found = 0;
@@ -1712,7 +1614,7 @@ index d2e0f1c..8ac8798 100644
  
        if (!oh || oh->slaves_cnt == 0)
                return NULL;
-@@ -509,16 +510,20 @@ static void __iomem *_find_mpu_rt_base(struct omap_hwmod *oh, u8 index)
+@@ -509,16 +510,20 @@ static void __iomem *_find_mpu_rt_base(s
                }
        }
  
@@ -1739,7 +1641,7 @@ index d2e0f1c..8ac8798 100644
  }
  
  /**
-@@ -1148,6 +1153,7 @@ int omap_hwmod_unregister(struct omap_hwmod *oh)
+@@ -1148,6 +1153,7 @@ int omap_hwmod_unregister(struct omap_hw
        pr_debug("omap_hwmod: %s: unregistering\n", oh->name);
  
        mutex_lock(&omap_hwmod_mutex);
@@ -1747,8 +1649,6 @@ index d2e0f1c..8ac8798 100644
        list_del(&oh->node);
        mutex_unlock(&omap_hwmod_mutex);
  
-diff --git a/arch/arm/mach-omap2/pm-debug.c b/arch/arm/mach-omap2/pm-debug.c
-index 2fc4d6a..deed1dd 100644
 --- a/arch/arm/mach-omap2/pm-debug.c
 +++ b/arch/arm/mach-omap2/pm-debug.c
 @@ -51,7 +51,8 @@ int omap2_pm_debug;
@@ -1761,8 +1661,6 @@ index 2fc4d6a..deed1dd 100644
  
  static int __init pm_dbg_init(void);
  
-diff --git a/arch/arm/mach-omap2/prm.h b/arch/arm/mach-omap2/prm.h
-index 03c467c..a117f85 100644
 --- a/arch/arm/mach-omap2/prm.h
 +++ b/arch/arm/mach-omap2/prm.h
 @@ -17,11 +17,11 @@
@@ -1780,8 +1678,6 @@ index 03c467c..a117f85 100644
  
  /*
   * Architecture-specific global PRM registers
-diff --git a/arch/arm/mach-omap2/sdrc.h b/arch/arm/mach-omap2/sdrc.h
-index 0837eda..345183d 100644
 --- a/arch/arm/mach-omap2/sdrc.h
 +++ b/arch/arm/mach-omap2/sdrc.h
 @@ -48,9 +48,12 @@ static inline u32 sms_read_reg(u16 reg)
@@ -1800,8 +1696,6 @@ index 0837eda..345183d 100644
  #endif        /* __ASSEMBLER__ */
  
  #endif
-diff --git a/arch/arm/mach-omap2/serial.c b/arch/arm/mach-omap2/serial.c
-index ae21868..7f722a7 100644
 --- a/arch/arm/mach-omap2/serial.c
 +++ b/arch/arm/mach-omap2/serial.c
 @@ -73,7 +73,6 @@ static LIST_HEAD(uart_list);
@@ -1812,7 +1706,7 @@ index ae21868..7f722a7 100644
                .mapbase        = OMAP_UART1_BASE,
                .irq            = 72,
                .flags          = UPF_BOOT_AUTOCONF,
-@@ -87,7 +86,6 @@ static struct plat_serial8250_port serial_platform_data0[] = {
+@@ -87,7 +86,6 @@ static struct plat_serial8250_port seria
  
  static struct plat_serial8250_port serial_platform_data1[] = {
        {
@@ -1820,7 +1714,7 @@ index ae21868..7f722a7 100644
                .mapbase        = OMAP_UART2_BASE,
                .irq            = 73,
                .flags          = UPF_BOOT_AUTOCONF,
-@@ -101,7 +99,6 @@ static struct plat_serial8250_port serial_platform_data1[] = {
+@@ -101,7 +99,6 @@ static struct plat_serial8250_port seria
  
  static struct plat_serial8250_port serial_platform_data2[] = {
        {
@@ -1828,15 +1722,7 @@ index ae21868..7f722a7 100644
                .mapbase        = OMAP_UART3_BASE,
                .irq            = 74,
                .flags          = UPF_BOOT_AUTOCONF,
-@@ -110,7 +107,6 @@ static struct plat_serial8250_port serial_platform_data2[] = {
-               .uartclk        = OMAP24XX_BASE_BAUD * 16,
-       }, {
- #ifdef CONFIG_ARCH_OMAP4
--              .membase        = OMAP2_IO_ADDRESS(OMAP_UART4_BASE),
-               .mapbase        = OMAP_UART4_BASE,
-               .irq            = 70,
-               .flags          = UPF_BOOT_AUTOCONF,
-@@ -126,7 +122,6 @@ static struct plat_serial8250_port serial_platform_data2[] = {
+@@ -116,7 +113,6 @@ static struct plat_serial8250_port seria
  #ifdef CONFIG_ARCH_OMAP4
  static struct plat_serial8250_port serial_platform_data3[] = {
        {
@@ -1844,7 +1730,7 @@ index ae21868..7f722a7 100644
                .mapbase        = OMAP_UART4_BASE,
                .irq            = 70,
                .flags          = UPF_BOOT_AUTOCONF,
-@@ -549,7 +544,7 @@ static inline void omap_uart_idle_init(struct omap_uart_state *uart) {}
+@@ -539,7 +535,7 @@ static inline void omap_uart_idle_init(s
  #define DEV_CREATE_FILE(dev, attr)
  #endif /* CONFIG_PM */
  
@@ -1853,7 +1739,7 @@ index ae21868..7f722a7 100644
        {
                .pdev = {
                        .name                   = "serial8250",
-@@ -599,12 +594,22 @@ void __init omap_serial_early_init(void)
+@@ -589,12 +585,22 @@ void __init omap_serial_early_init(void)
         * if not needed.
         */
  
@@ -1877,7 +1763,7 @@ index ae21868..7f722a7 100644
                sprintf(name, "uart%d_ick", i+1);
                uart->ick = clk_get(NULL, name);
                if (IS_ERR(uart->ick)) {
-@@ -641,7 +646,7 @@ void __init omap_serial_init(void)
+@@ -631,7 +637,7 @@ void __init omap_serial_init(void)
  {
        int i;
  
@@ -1886,8 +1772,6 @@ index ae21868..7f722a7 100644
                struct omap_uart_state *uart = &omap_uart[i];
                struct platform_device *pdev = &uart->pdev;
                struct device *dev = &pdev->dev;
-diff --git a/arch/arm/mach-omap2/sram242x.S b/arch/arm/mach-omap2/sram242x.S
-index 9b62208..92e6e1a 100644
 --- a/arch/arm/mach-omap2/sram242x.S
 +++ b/arch/arm/mach-omap2/sram242x.S
 @@ -128,7 +128,7 @@ omap242x_sdi_prcm_voltctrl:
@@ -1908,8 +1792,6 @@ index 9b62208..92e6e1a 100644
  
  ENTRY(omap242x_sram_reprogram_sdrc_sz)
        .word   . - omap242x_sram_reprogram_sdrc
-diff --git a/arch/arm/mach-omap2/sram243x.S b/arch/arm/mach-omap2/sram243x.S
-index df2cd92..ab49736 100644
 --- a/arch/arm/mach-omap2/sram243x.S
 +++ b/arch/arm/mach-omap2/sram243x.S
 @@ -128,7 +128,7 @@ omap243x_sdi_prcm_voltctrl:
@@ -1930,11 +1812,9 @@ index df2cd92..ab49736 100644
  
  ENTRY(omap243x_sram_reprogram_sdrc_sz)
        .word   . - omap243x_sram_reprogram_sdrc
-diff --git a/arch/arm/mach-omap2/timer-gp.c b/arch/arm/mach-omap2/timer-gp.c
-index e2338c0..cd72970 100644
 --- a/arch/arm/mach-omap2/timer-gp.c
 +++ b/arch/arm/mach-omap2/timer-gp.c
-@@ -231,7 +231,8 @@ static void __init omap2_gp_clocksource_init(void)
+@@ -231,7 +231,8 @@ static void __init omap2_gp_clocksource_
  static void __init omap2_gp_timer_init(void)
  {
  #ifdef CONFIG_LOCAL_TIMERS
@@ -1944,9 +1824,6 @@ index e2338c0..cd72970 100644
  #endif
        omap_dm_timer_init();
  
-diff --git a/arch/arm/mach-omap2/usb-ehci.c b/arch/arm/mach-omap2/usb-ehci.c
-new file mode 100644
-index 0000000..a29c8ca
 --- /dev/null
 +++ b/arch/arm/mach-omap2/usb-ehci.c
 @@ -0,0 +1,192 @@
@@ -2142,11 +2019,9 @@ index 0000000..a29c8ca
 +
 +#endif /* CONFIG_USB_EHCI_HCD */
 +
-diff --git a/arch/arm/plat-omap/common.c b/arch/arm/plat-omap/common.c
-index 3a4768d..1aa58d2 100644
 --- a/arch/arm/plat-omap/common.c
 +++ b/arch/arm/plat-omap/common.c
-@@ -224,12 +224,12 @@ static void __init __omap2_set_globals(struct omap_globals *omap2_globals)
+@@ -224,12 +224,12 @@ static void __init __omap2_set_globals(s
  
  static struct omap_globals omap242x_globals = {
        .class  = OMAP242X_CLASS,
@@ -2218,8 +2093,6 @@ index 3a4768d..1aa58d2 100644
  };
  
  void __init omap2_set_globals_443x(void)
-diff --git a/arch/arm/plat-omap/devices.c b/arch/arm/plat-omap/devices.c
-index a64b692..d2f5475 100644
 --- a/arch/arm/plat-omap/devices.c
 +++ b/arch/arm/plat-omap/devices.c
 @@ -113,17 +113,17 @@ static void omap_init_kp(void)
@@ -2251,11 +2124,9 @@ index a64b692..d2f5475 100644
        } else if (machine_is_omap_h4()) {
                omap_cfg_reg(T19_24XX_KBR0);
                omap_cfg_reg(R19_24XX_KBR1);
-diff --git a/arch/arm/plat-omap/dma.c b/arch/arm/plat-omap/dma.c
-index 0eb676d..034686d 100644
 --- a/arch/arm/plat-omap/dma.c
 +++ b/arch/arm/plat-omap/dma.c
-@@ -2347,40 +2347,46 @@ EXPORT_SYMBOL(omap_stop_lcd_dma);
+@@ -2359,40 +2359,46 @@ EXPORT_SYMBOL(omap_stop_lcd_dma);
  
  static int __init omap_init_dma(void)
  {
@@ -2310,7 +2181,7 @@ index 0eb676d..034686d 100644
                }
        }
  
-@@ -2454,7 +2460,7 @@ static int __init omap_init_dma(void)
+@@ -2466,7 +2472,7 @@ static int __init omap_init_dma(void)
                                for (i = 0; i < ch; i++)
                                        free_irq(omap1_dma_irq[i],
                                                 (void *) (i + 1));
@@ -2319,7 +2190,7 @@ index 0eb676d..034686d 100644
                        }
                }
        }
-@@ -2496,11 +2502,19 @@ static int __init omap_init_dma(void)
+@@ -2508,11 +2514,19 @@ static int __init omap_init_dma(void)
                               "(error %d)\n", r);
                        for (i = 0; i < dma_chan_count; i++)
                                free_irq(omap1_dma_irq[i], (void *) (i + 1));
@@ -2340,11 +2211,9 @@ index 0eb676d..034686d 100644
  }
  
  arch_initcall(omap_init_dma);
-diff --git a/arch/arm/plat-omap/dmtimer.c b/arch/arm/plat-omap/dmtimer.c
-index d325b54..e4e848e 100644
 --- a/arch/arm/plat-omap/dmtimer.c
 +++ b/arch/arm/plat-omap/dmtimer.c
-@@ -742,16 +742,17 @@ EXPORT_SYMBOL_GPL(omap_dm_timers_active);
+@@ -742,16 +742,17 @@ EXPORT_SYMBOL_GPL(omap_dm_timers_active)
  int __init omap_dm_timer_init(void)
  {
        struct omap_dm_timer *timer;
@@ -2381,8 +2250,6 @@ index d325b54..e4e848e 100644
  #if defined(CONFIG_ARCH_OMAP2) || defined(CONFIG_ARCH_OMAP3) || \
                                        defined(CONFIG_ARCH_OMAP4)
                if (cpu_class_is_omap2()) {
-diff --git a/arch/arm/plat-omap/gpio.c b/arch/arm/plat-omap/gpio.c
-index 71ebd7f..14c3506 100644
 --- a/arch/arm/plat-omap/gpio.c
 +++ b/arch/arm/plat-omap/gpio.c
 @@ -31,7 +31,7 @@
@@ -2428,7 +2295,19 @@ index 71ebd7f..14c3506 100644
 -#define OMAP730_GPIO_INT_CONTROL      0x0c
 -#define OMAP730_GPIO_INT_MASK         0x10
 -#define OMAP730_GPIO_INT_STATUS               0x14
--
++#define OMAP7XX_GPIO1_BASE            0xfffbc000
++#define OMAP7XX_GPIO2_BASE            0xfffbc800
++#define OMAP7XX_GPIO3_BASE            0xfffbd000
++#define OMAP7XX_GPIO4_BASE            0xfffbd800
++#define OMAP7XX_GPIO5_BASE            0xfffbe000
++#define OMAP7XX_GPIO6_BASE            0xfffbe800
++#define OMAP7XX_GPIO_DATA_INPUT               0x00
++#define OMAP7XX_GPIO_DATA_OUTPUT      0x04
++#define OMAP7XX_GPIO_DIR_CONTROL      0x08
++#define OMAP7XX_GPIO_INT_CONTROL      0x0c
++#define OMAP7XX_GPIO_INT_MASK         0x10
++#define OMAP7XX_GPIO_INT_STATUS               0x14
 -/*
 - * OMAP850 specific GPIO registers
 - */
@@ -2446,19 +2325,6 @@ index 71ebd7f..14c3506 100644
 -#define OMAP850_GPIO_INT_STATUS               0x14
 -
 -#define OMAP1_MPUIO_VBASE             OMAP1_IO_ADDRESS(OMAP1_MPUIO_BASE)
-+#define OMAP7XX_GPIO1_BASE            0xfffbc000
-+#define OMAP7XX_GPIO2_BASE            0xfffbc800
-+#define OMAP7XX_GPIO3_BASE            0xfffbd000
-+#define OMAP7XX_GPIO4_BASE            0xfffbd800
-+#define OMAP7XX_GPIO5_BASE            0xfffbe000
-+#define OMAP7XX_GPIO6_BASE            0xfffbe800
-+#define OMAP7XX_GPIO_DATA_INPUT               0x00
-+#define OMAP7XX_GPIO_DATA_OUTPUT      0x04
-+#define OMAP7XX_GPIO_DIR_CONTROL      0x08
-+#define OMAP7XX_GPIO_INT_CONTROL      0x0c
-+#define OMAP7XX_GPIO_INT_MASK         0x10
-+#define OMAP7XX_GPIO_INT_STATUS               0x14
-+
 +#define OMAP1_MPUIO_VBASE             OMAP1_MPUIO_BASE
  
  /*
@@ -2468,16 +2334,17 @@ index 71ebd7f..14c3506 100644
 -#define OMAP242X_GPIO2_BASE           OMAP2_IO_ADDRESS(0x4801a000)
 -#define OMAP242X_GPIO3_BASE           OMAP2_IO_ADDRESS(0x4801c000)
 -#define OMAP242X_GPIO4_BASE           OMAP2_IO_ADDRESS(0x4801e000)
-+#define OMAP242X_GPIO1_BASE           0x48018000
-+#define OMAP242X_GPIO2_BASE           0x4801a000
-+#define OMAP242X_GPIO3_BASE           0x4801c000
-+#define OMAP242X_GPIO4_BASE           0x4801e000
+-
 -#define OMAP243X_GPIO1_BASE           OMAP2_IO_ADDRESS(0x4900C000)
 -#define OMAP243X_GPIO2_BASE           OMAP2_IO_ADDRESS(0x4900E000)
 -#define OMAP243X_GPIO3_BASE           OMAP2_IO_ADDRESS(0x49010000)
 -#define OMAP243X_GPIO4_BASE           OMAP2_IO_ADDRESS(0x49012000)
 -#define OMAP243X_GPIO5_BASE           OMAP2_IO_ADDRESS(0x480B6000)
++#define OMAP242X_GPIO1_BASE           0x48018000
++#define OMAP242X_GPIO2_BASE           0x4801a000
++#define OMAP242X_GPIO3_BASE           0x4801c000
++#define OMAP242X_GPIO4_BASE           0x4801e000
++
 +#define OMAP243X_GPIO1_BASE           0x4900C000
 +#define OMAP243X_GPIO2_BASE           0x4900E000
 +#define OMAP243X_GPIO3_BASE           0x49010000
@@ -2688,16 +2555,7 @@ index 71ebd7f..14c3506 100644
                METHOD_GPIO_24XX },
  };
  
-@@ -373,7 +373,7 @@ static inline int gpio_valid(int gpio)
- static int check_gpio(int gpio)
- {
--      if (unlikely(gpio_valid(gpio)) < 0) {
-+      if (unlikely(gpio_valid(gpio) < 0)) {
-               printk(KERN_ERR "omap-gpio: invalid GPIO %d\n", gpio);
-               dump_stack();
-               return -1;
-@@ -402,14 +402,9 @@ static void _set_gpio_direction(struct gpio_bank *bank, int gpio, int is_input)
+@@ -402,14 +402,9 @@ static void _set_gpio_direction(struct g
                reg += OMAP1610_GPIO_DIRECTION;
                break;
  #endif
@@ -2715,7 +2573,7 @@ index 71ebd7f..14c3506 100644
                break;
  #endif
  #if defined(CONFIG_ARCH_OMAP24XX) || defined(CONFIG_ARCH_OMAP34XX)
-@@ -469,19 +464,9 @@ static void _set_gpio_dataout(struct gpio_bank *bank, int gpio, int enable)
+@@ -469,19 +464,9 @@ static void _set_gpio_dataout(struct gpi
                l = 1 << gpio;
                break;
  #endif
@@ -2738,7 +2596,7 @@ index 71ebd7f..14c3506 100644
                l = __raw_readl(reg);
                if (enable)
                        l |= 1 << gpio;
-@@ -537,14 +522,9 @@ static int _get_gpio_datain(struct gpio_bank *bank, int gpio)
+@@ -537,14 +522,9 @@ static int _get_gpio_datain(struct gpio_
                reg += OMAP1610_GPIO_DATAIN;
                break;
  #endif
@@ -2756,7 +2614,7 @@ index 71ebd7f..14c3506 100644
                break;
  #endif
  #if defined(CONFIG_ARCH_OMAP24XX) || defined(CONFIG_ARCH_OMAP34XX)
-@@ -588,14 +568,9 @@ static int _get_gpio_dataout(struct gpio_bank *bank, int gpio)
+@@ -588,14 +568,9 @@ static int _get_gpio_dataout(struct gpio
                reg += OMAP1610_GPIO_DATAOUT;
                break;
  #endif
@@ -2774,7 +2632,7 @@ index 71ebd7f..14c3506 100644
                break;
  #endif
  #if defined(CONFIG_ARCH_OMAP24XX) || defined(CONFIG_ARCH_OMAP34XX) || \
-@@ -797,21 +772,9 @@ static int _set_gpio_triggering(struct gpio_bank *bank, int gpio, int trigger)
+@@ -797,21 +772,9 @@ static int _set_gpio_triggering(struct g
                        __raw_writel(1 << gpio, bank->base + OMAP1610_GPIO_CLEAR_WAKEUPENA);
                break;
  #endif
@@ -2799,7 +2657,7 @@ index 71ebd7f..14c3506 100644
                l = __raw_readl(reg);
                if (trigger & IRQ_TYPE_EDGE_RISING)
                        l |= 1 << gpio;
-@@ -897,14 +860,9 @@ static void _clear_gpio_irqbank(struct gpio_bank *bank, int gpio_mask)
+@@ -897,14 +860,9 @@ static void _clear_gpio_irqbank(struct g
                reg += OMAP1610_GPIO_IRQSTATUS1;
                break;
  #endif
@@ -2817,7 +2675,7 @@ index 71ebd7f..14c3506 100644
                break;
  #endif
  #if defined(CONFIG_ARCH_OMAP24XX) || defined(CONFIG_ARCH_OMAP34XX)
-@@ -971,16 +929,9 @@ static u32 _get_gpio_irqbank_mask(struct gpio_bank *bank)
+@@ -971,16 +929,9 @@ static u32 _get_gpio_irqbank_mask(struct
                mask = 0xffff;
                break;
  #endif
@@ -2837,7 +2695,7 @@ index 71ebd7f..14c3506 100644
                mask = 0xffffffff;
                inv = 1;
                break;
-@@ -1044,19 +995,9 @@ static void _enable_gpio_irqbank(struct gpio_bank *bank, int gpio_mask, int enab
+@@ -1044,19 +995,9 @@ static void _enable_gpio_irqbank(struct 
                l = gpio_mask;
                break;
  #endif
@@ -2860,7 +2718,7 @@ index 71ebd7f..14c3506 100644
                l = __raw_readl(reg);
                if (enable)
                        l &= ~(gpio_mask);
-@@ -1249,13 +1190,9 @@ static void gpio_irq_handler(unsigned int irq, struct irq_desc *desc)
+@@ -1249,13 +1190,9 @@ static void gpio_irq_handler(unsigned in
        if (bank->method == METHOD_GPIO_1610)
                isr_reg = bank->base + OMAP1610_GPIO_IRQSTATUS1;
  #endif
@@ -2877,7 +2735,7 @@ index 71ebd7f..14c3506 100644
  #endif
  #if defined(CONFIG_ARCH_OMAP24XX) || defined(CONFIG_ARCH_OMAP34XX)
        if (bank->method == METHOD_GPIO_24XX)
-@@ -1524,11 +1461,8 @@ static int gpio_is_input(struct gpio_bank *bank, int mask)
+@@ -1524,11 +1461,8 @@ static int gpio_is_input(struct gpio_ban
        case METHOD_GPIO_1610:
                reg += OMAP1610_GPIO_DIRECTION;
                break;
@@ -3047,7 +2905,7 @@ index 71ebd7f..14c3506 100644
        return 0;
  }
  
-@@ -2160,8 +2090,7 @@ static int dbg_gpio_show(struct seq_file *s, void *unused)
+@@ -2160,8 +2090,7 @@ static int dbg_gpio_show(struct seq_file
  
                if (bank_is_mpuio(bank))
                        gpio = OMAP_MPUIO(0);
@@ -3057,8 +2915,6 @@ index 71ebd7f..14c3506 100644
                        bankwidth = 32;
  
                for (j = 0; j < bankwidth; j++, gpio++, mask <<= 1) {
-diff --git a/arch/arm/plat-omap/include/mach/control.h b/arch/arm/plat-omap/include/mach/control.h
-index 826d317..fdb6300 100644
 --- a/arch/arm/plat-omap/include/mach/control.h
 +++ b/arch/arm/plat-omap/include/mach/control.h
 @@ -20,15 +20,18 @@
@@ -3127,8 +2983,6 @@ index 826d317..fdb6300 100644
  #ifndef __ASSEMBLY__
  #if defined(CONFIG_ARCH_OMAP2) || defined(CONFIG_ARCH_OMAP3) || \
                defined(CONFIG_ARCH_OMAP4)
-diff --git a/arch/arm/plat-omap/include/mach/cpu.h b/arch/arm/plat-omap/include/mach/cpu.h
-index f129efb..7cb0556 100644
 --- a/arch/arm/plat-omap/include/mach/cpu.h
 +++ b/arch/arm/plat-omap/include/mach/cpu.h
 @@ -30,6 +30,8 @@
@@ -3252,8 +3106,6 @@ index f129efb..7cb0556 100644
 +OMAP3_HAS_FEATURE(isp, ISP)
 +
  #endif
-diff --git a/arch/arm/plat-omap/include/mach/debug-macro.S b/arch/arm/plat-omap/include/mach/debug-macro.S
-index ac24050..63bb06d 100644
 --- a/arch/arm/plat-omap/include/mach/debug-macro.S
 +++ b/arch/arm/plat-omap/include/mach/debug-macro.S
 @@ -27,7 +27,7 @@
@@ -3274,8 +3126,6 @@ index ac24050..63bb06d 100644
                orr     \rx, \rx, #0x0006a000
  #ifdef CONFIG_OMAP_LL_DEBUG_UART2
                add     \rx, \rx, #0x00002000   @ UART 2
-diff --git a/arch/arm/plat-omap/include/mach/entry-macro.S b/arch/arm/plat-omap/include/mach/entry-macro.S
-index a559299..2aea566 100644
 --- a/arch/arm/plat-omap/include/mach/entry-macro.S
 +++ b/arch/arm/plat-omap/include/mach/entry-macro.S
 @@ -17,11 +17,11 @@
@@ -3315,8 +3165,6 @@ index a559299..2aea566 100644
                /*
                 * The interrupt numbering scheme is defined in the
                 * interrupt controller spec.  To wit:
-diff --git a/arch/arm/plat-omap/include/mach/hardware.h b/arch/arm/plat-omap/include/mach/hardware.h
-index 26c1fbf..99c4241 100644
 --- a/arch/arm/plat-omap/include/mach/hardware.h
 +++ b/arch/arm/plat-omap/include/mach/hardware.h
 @@ -280,7 +280,7 @@
@@ -3328,8 +3176,6 @@ index 26c1fbf..99c4241 100644
  #include "omap1510.h"
  #include "omap16xx.h"
  #include "omap24xx.h"
-diff --git a/arch/arm/plat-omap/include/mach/io.h b/arch/arm/plat-omap/include/mach/io.h
-index 8d32df3..7e5319f 100644
 --- a/arch/arm/plat-omap/include/mach/io.h
 +++ b/arch/arm/plat-omap/include/mach/io.h
 @@ -63,8 +63,24 @@
@@ -3434,13 +3280,14 @@ index 8d32df3..7e5319f 100644
 -#define L4_EMU_34XX_PHYS      L4_EMU_34XX_BASE /* 0x54000000 */
 -#define L4_EMU_34XX_VIRT      0xe4000000
 -#define L4_EMU_34XX_SIZE      SZ_64M
+-
+-#define OMAP34XX_GPMC_PHYS    OMAP34XX_GPMC_BASE /* 0x6E000000 */
+-#define OMAP34XX_GPMC_VIRT    0xFE000000
 +#define L4_EMU_34XX_PHYS      L4_EMU_34XX_BASE
 +                                              /* 0x54000000 --> 0xfe800000 */
 +#define L4_EMU_34XX_VIRT      (L4_EMU_34XX_PHYS + OMAP2_EMU_IO_OFFSET)
 +#define L4_EMU_34XX_SIZE      SZ_8M
--#define OMAP34XX_GPMC_PHYS    OMAP34XX_GPMC_BASE /* 0x6E000000 */
--#define OMAP34XX_GPMC_VIRT    0xFE000000
++
 +#define OMAP34XX_GPMC_PHYS    OMAP34XX_GPMC_BASE
 +                                              /* 0x6e000000 --> 0xfe000000 */
 +#define OMAP34XX_GPMC_VIRT    (OMAP34XX_GPMC_PHYS + OMAP2_L3_IO_OFFSET)
@@ -3526,8 +3373,6 @@ index 8d32df3..7e5319f 100644
  /*
   * ----------------------------------------------------------------------------
   * Omap specific register access
-diff --git a/arch/arm/plat-omap/include/mach/irqs.h b/arch/arm/plat-omap/include/mach/irqs.h
-index 28a1650..6a6d028 100644
 --- a/arch/arm/plat-omap/include/mach/irqs.h
 +++ b/arch/arm/plat-omap/include/mach/irqs.h
 @@ -86,49 +86,26 @@
@@ -3775,8 +3620,6 @@ index 28a1650..6a6d028 100644
  
  #define INT_24XX_SYS_NIRQ     7
  #define INT_24XX_SDMA_IRQ0    12
-diff --git a/arch/arm/plat-omap/include/mach/mcbsp.h b/arch/arm/plat-omap/include/mach/mcbsp.h
-index e0d6eca..7e9cae3 100644
 --- a/arch/arm/plat-omap/include/mach/mcbsp.h
 +++ b/arch/arm/plat-omap/include/mach/mcbsp.h
 @@ -30,8 +30,8 @@
@@ -3799,8 +3642,6 @@ index e0d6eca..7e9cae3 100644
  
  #define OMAP_MCBSP_REG_DRR2   0x00
  #define OMAP_MCBSP_REG_DRR1   0x02
-diff --git a/arch/arm/plat-omap/include/mach/mux.h b/arch/arm/plat-omap/include/mach/mux.h
-index 0f49d2d..f3c1d8a 100644
 --- a/arch/arm/plat-omap/include/mach/mux.h
 +++ b/arch/arm/plat-omap/include/mach/mux.h
 @@ -51,23 +51,13 @@
@@ -3953,8 +3794,6 @@ index 0f49d2d..f3c1d8a 100644
  enum omap1xxx_index {
        /* UART1 (BT_UART_GATING)*/
        UART1_TX = 0,
-diff --git a/arch/arm/plat-omap/include/mach/omap34xx.h b/arch/arm/plat-omap/include/mach/omap34xx.h
-index f8d186a..4655707 100644
 --- a/arch/arm/plat-omap/include/mach/omap34xx.h
 +++ b/arch/arm/plat-omap/include/mach/omap34xx.h
 @@ -74,8 +74,12 @@
@@ -3971,8 +3810,6 @@ index f8d186a..4655707 100644
  
  #define OMAP34XX_MAILBOX_BASE         (L4_34XX_BASE + 0x94000)
  
-diff --git a/arch/arm/plat-omap/include/mach/omap44xx.h b/arch/arm/plat-omap/include/mach/omap44xx.h
-index b3ba5ac..3361897 100644
 --- a/arch/arm/plat-omap/include/mach/omap44xx.h
 +++ b/arch/arm/plat-omap/include/mach/omap44xx.h
 @@ -22,6 +22,9 @@
@@ -4000,9 +3837,6 @@ index b3ba5ac..3361897 100644
  
  #endif /* __ASM_ARCH_OMAP44XX_H */
  
-diff --git a/arch/arm/plat-omap/include/mach/omap7xx.h b/arch/arm/plat-omap/include/mach/omap7xx.h
-new file mode 100644
-index 0000000..53f5241
 --- /dev/null
 +++ b/arch/arm/plat-omap/include/mach/omap7xx.h
 @@ -0,0 +1,104 @@
@@ -4110,8 +3944,6 @@ index 0000000..53f5241
 +
 +#endif /*  __ASM_ARCH_OMAP7XX_H */
 +
-diff --git a/arch/arm/plat-omap/include/mach/sdrc.h b/arch/arm/plat-omap/include/mach/sdrc.h
-index 1c09c78..7b58a5f 100644
 --- a/arch/arm/plat-omap/include/mach/sdrc.h
 +++ b/arch/arm/plat-omap/include/mach/sdrc.h
 @@ -80,11 +80,11 @@
@@ -4129,8 +3961,6 @@ index 1c09c78..7b58a5f 100644
  
  /* SMS register offsets - read/write with sms_{read,write}_reg() */
  
-diff --git a/arch/arm/plat-omap/include/mach/serial.h b/arch/arm/plat-omap/include/mach/serial.h
-index e249186..9951345 100644
 --- a/arch/arm/plat-omap/include/mach/serial.h
 +++ b/arch/arm/plat-omap/include/mach/serial.h
 @@ -20,26 +20,22 @@
@@ -4160,8 +3990,6 @@ index e249186..9951345 100644
  #endif
  
  #define OMAP1510_BASE_BAUD    (12000000/16)
-diff --git a/arch/arm/plat-omap/include/mach/uncompress.h b/arch/arm/plat-omap/include/mach/uncompress.h
-index 0814c5f..ddf7b88 100644
 --- a/arch/arm/plat-omap/include/mach/uncompress.h
 +++ b/arch/arm/plat-omap/include/mach/uncompress.h
 @@ -25,6 +25,7 @@ unsigned int system_rev;
@@ -4181,8 +4009,6 @@ index 0814c5f..ddf7b88 100644
                        shift = 0;
  
                if (check_port(uart, shift))
-diff --git a/arch/arm/plat-omap/include/mach/usb.h b/arch/arm/plat-omap/include/mach/usb.h
-index f337e17..a4068a4 100644
 --- a/arch/arm/plat-omap/include/mach/usb.h
 +++ b/arch/arm/plat-omap/include/mach/usb.h
 @@ -5,6 +5,21 @@
@@ -4216,8 +4042,6 @@ index f337e17..a4068a4 100644
  #endif
  
  void omap_usb_init(struct omap_usb_config *pdata);
-diff --git a/arch/arm/plat-omap/include/mach/vmalloc.h b/arch/arm/plat-omap/include/mach/vmalloc.h
-index b97dfaf..9eebf62 100644
 --- a/arch/arm/plat-omap/include/mach/vmalloc.h
 +++ b/arch/arm/plat-omap/include/mach/vmalloc.h
 @@ -17,5 +17,5 @@
@@ -4227,8 +4051,6 @@ index b97dfaf..9eebf62 100644
 -#define VMALLOC_END     (PAGE_OFFSET + 0x18000000)
 +#define VMALLOC_END     (PAGE_OFFSET + 0x38000000)
  
-diff --git a/arch/arm/plat-omap/io.c b/arch/arm/plat-omap/io.c
-index b6defa2..93c1d53 100644
 --- a/arch/arm/plat-omap/io.c
 +++ b/arch/arm/plat-omap/io.c
 @@ -13,7 +13,7 @@
@@ -4240,27 +4062,28 @@ index b6defa2..93c1d53 100644
  #include <mach/omap1510.h>
  #include <mach/omap16xx.h>
  #include <mach/omap24xx.h>
-@@ -33,13 +33,13 @@ void __iomem *omap_ioremap(unsigned long p, size_t size, unsigned int type)
+@@ -33,13 +33,13 @@ void __iomem *omap_ioremap(unsigned long
                if (BETWEEN(p, OMAP1_IO_PHYS, OMAP1_IO_SIZE))
                        return XLATE(p, OMAP1_IO_PHYS, OMAP1_IO_VIRT);
        }
 -      if (cpu_is_omap730()) {
 -              if (BETWEEN(p, OMAP730_DSP_BASE, OMAP730_DSP_SIZE))
 -                      return XLATE(p, OMAP730_DSP_BASE, OMAP730_DSP_START);
-+      if (cpu_is_omap7xx()) {
-+              if (BETWEEN(p, OMAP7XX_DSP_BASE, OMAP7XX_DSP_SIZE))
-+                      return XLATE(p, OMAP7XX_DSP_BASE, OMAP7XX_DSP_START);
+-
 -              if (BETWEEN(p, OMAP730_DSPREG_BASE, OMAP730_DSPREG_SIZE))
 -                      return XLATE(p, OMAP730_DSPREG_BASE,
 -                                      OMAP730_DSPREG_START);
++      if (cpu_is_omap7xx()) {
++              if (BETWEEN(p, OMAP7XX_DSP_BASE, OMAP7XX_DSP_SIZE))
++                      return XLATE(p, OMAP7XX_DSP_BASE, OMAP7XX_DSP_START);
++
 +              if (BETWEEN(p, OMAP7XX_DSPREG_BASE, OMAP7XX_DSPREG_SIZE))
 +                      return XLATE(p, OMAP7XX_DSPREG_BASE,
 +                                      OMAP7XX_DSPREG_START);
        }
        if (cpu_is_omap15xx()) {
                if (BETWEEN(p, OMAP1510_DSP_BASE, OMAP1510_DSP_SIZE))
-@@ -114,6 +114,14 @@ void __iomem *omap_ioremap(unsigned long p, size_t size, unsigned int type)
+@@ -114,6 +114,14 @@ void __iomem *omap_ioremap(unsigned long
                        return XLATE(p, L4_WK_44XX_PHYS, L4_WK_44XX_VIRT);
                if (BETWEEN(p, OMAP44XX_GPMC_PHYS, OMAP44XX_GPMC_SIZE))
                        return XLATE(p, OMAP44XX_GPMC_PHYS, OMAP44XX_GPMC_VIRT);
@@ -4328,8 +4151,6 @@ index b6defa2..93c1d53 100644
 +              __raw_writel(v, OMAP2_L4_IO_ADDRESS(pa));
  }
  EXPORT_SYMBOL(omap_writel);
-diff --git a/arch/arm/plat-omap/omap_device.c b/arch/arm/plat-omap/omap_device.c
-index 2c409fc..12513f4 100644
 --- a/arch/arm/plat-omap/omap_device.c
 +++ b/arch/arm/plat-omap/omap_device.c
 @@ -103,21 +103,6 @@
@@ -4370,7 +4191,7 @@ index 2c409fc..12513f4 100644
  
                od->pm_lat_level--;
  
-@@ -149,20 +134,22 @@ static int _omap_device_activate(struct omap_device *od, u8 ignore_lat)
+@@ -149,20 +134,22 @@ static int _omap_device_activate(struct 
                    (od->dev_wakeup_lat <= od->_dev_wakeup_lat_limit))
                        break;
  
@@ -4398,7 +4219,7 @@ index 2c409fc..12513f4 100644
                     od->pdev.name, od->pdev.id, od->pm_lat_level,
                     act_lat, odpl->activate_lat);
  
-@@ -188,13 +175,13 @@ static int _omap_device_activate(struct omap_device *od, u8 ignore_lat)
+@@ -188,13 +175,13 @@ static int _omap_device_activate(struct 
   */
  static int _omap_device_deactivate(struct omap_device *od, u8 ignore_lat)
  {
@@ -4414,7 +4235,7 @@ index 2c409fc..12513f4 100644
  
                odpl = od->pm_lats + od->pm_lat_level;
  
-@@ -203,23 +190,24 @@ static int _omap_device_deactivate(struct omap_device *od, u8 ignore_lat)
+@@ -203,23 +190,24 @@ static int _omap_device_deactivate(struc
                     od->_dev_wakeup_lat_limit))
                        break;
  
@@ -4446,11 +4267,9 @@ index 2c409fc..12513f4 100644
  
                od->dev_wakeup_lat += odpl->activate_lat;
  
-diff --git a/arch/arm/plat-omap/sram.c b/arch/arm/plat-omap/sram.c
-index 75d1f26..4144f81 100644
 --- a/arch/arm/plat-omap/sram.c
 +++ b/arch/arm/plat-omap/sram.c
-@@ -41,14 +41,14 @@
+@@ -42,14 +42,14 @@
  #define OMAP1_SRAM_VA         VMALLOC_END
  #define OMAP2_SRAM_PA         0x40200000
  #define OMAP2_SRAM_PUB_PA     0x4020f800
@@ -4468,23 +4287,24 @@ index 75d1f26..4144f81 100644
  
  #if defined(CONFIG_ARCH_OMAP24XX) || defined(CONFIG_ARCH_OMAP34XX)
  #define SRAM_BOOTLOADER_SZ    0x00
-@@ -56,16 +56,16 @@
+@@ -57,16 +57,16 @@
  #define SRAM_BOOTLOADER_SZ    0x80
  #endif
  
 -#define OMAP24XX_VA_REQINFOPERM0      OMAP2_IO_ADDRESS(0x68005048)
 -#define OMAP24XX_VA_READPERM0         OMAP2_IO_ADDRESS(0x68005050)
 -#define OMAP24XX_VA_WRITEPERM0                OMAP2_IO_ADDRESS(0x68005058)
-+#define OMAP24XX_VA_REQINFOPERM0      OMAP2_L3_IO_ADDRESS(0x68005048)
-+#define OMAP24XX_VA_READPERM0         OMAP2_L3_IO_ADDRESS(0x68005050)
-+#define OMAP24XX_VA_WRITEPERM0                OMAP2_L3_IO_ADDRESS(0x68005058)
+-
 -#define OMAP34XX_VA_REQINFOPERM0      OMAP2_IO_ADDRESS(0x68012848)
 -#define OMAP34XX_VA_READPERM0         OMAP2_IO_ADDRESS(0x68012850)
 -#define OMAP34XX_VA_WRITEPERM0                OMAP2_IO_ADDRESS(0x68012858)
 -#define OMAP34XX_VA_ADDR_MATCH2               OMAP2_IO_ADDRESS(0x68012880)
 -#define OMAP34XX_VA_SMS_RG_ATT0               OMAP2_IO_ADDRESS(0x6C000048)
 -#define OMAP34XX_VA_CONTROL_STAT      OMAP2_IO_ADDRESS(0x480022F0)
++#define OMAP24XX_VA_REQINFOPERM0      OMAP2_L3_IO_ADDRESS(0x68005048)
++#define OMAP24XX_VA_READPERM0         OMAP2_L3_IO_ADDRESS(0x68005050)
++#define OMAP24XX_VA_WRITEPERM0                OMAP2_L3_IO_ADDRESS(0x68005058)
++
 +#define OMAP34XX_VA_REQINFOPERM0      OMAP2_L3_IO_ADDRESS(0x68012848)
 +#define OMAP34XX_VA_READPERM0         OMAP2_L3_IO_ADDRESS(0x68012850)
 +#define OMAP34XX_VA_WRITEPERM0                OMAP2_L3_IO_ADDRESS(0x68012858)
@@ -4494,11 +4314,9 @@ index 75d1f26..4144f81 100644
  
  #define GP_DEVICE             0x300
  
-diff --git a/arch/arm/plat-omap/usb.c b/arch/arm/plat-omap/usb.c
-index 509f2ed..3c40b85 100644
 --- a/arch/arm/plat-omap/usb.c
 +++ b/arch/arm/plat-omap/usb.c
-@@ -614,8 +614,8 @@ omap_otg_init(struct omap_usb_config *config)
+@@ -614,8 +614,8 @@ omap_otg_init(struct omap_usb_config *co
        if (config->otg || config->register_host) {
                syscon &= ~HST_IDLE_EN;
                ohci_device.dev.platform_data = config;
@@ -4509,7 +4327,7 @@ index 509f2ed..3c40b85 100644
                status = platform_device_register(&ohci_device);
                if (status)
                        pr_debug("can't register OHCI device, %d\n", status);
-@@ -626,8 +626,8 @@ omap_otg_init(struct omap_usb_config *config)
+@@ -626,8 +626,8 @@ omap_otg_init(struct omap_usb_config *co
        if (config->otg) {
                syscon &= ~OTG_IDLE_EN;
                otg_device.dev.platform_data = config;
@@ -4520,7 +4338,7 @@ index 509f2ed..3c40b85 100644
                status = platform_device_register(&otg_device);
                if (status)
                        pr_debug("can't register OTG device, %d\n", status);
-@@ -731,7 +731,7 @@ static inline void omap_1510_usb_init(struct omap_usb_config *config) {}
+@@ -731,7 +731,7 @@ static inline void omap_1510_usb_init(st
  
  void __init omap_usb_init(struct omap_usb_config *pdata)
  {
@@ -4529,11 +4347,9 @@ index 509f2ed..3c40b85 100644
                omap_otg_init(pdata);
        else if (cpu_is_omap15xx())
                omap_1510_usb_init(pdata);
-diff --git a/drivers/Makefile b/drivers/Makefile
-index 6ee53c7..086857c 100644
 --- a/drivers/Makefile
 +++ b/drivers/Makefile
-@@ -72,7 +72,7 @@ obj-$(CONFIG_GAMEPORT)               += input/gameport/
+@@ -72,7 +72,7 @@ obj-$(CONFIG_GAMEPORT)               += input/gamepor
  obj-$(CONFIG_INPUT)           += input/
  obj-$(CONFIG_I2O)             += message/
  obj-$(CONFIG_RTC_LIB)         += rtc/
@@ -4542,9 +4358,6 @@ index 6ee53c7..086857c 100644
  obj-$(CONFIG_PPS)             += pps/
  obj-$(CONFIG_W1)              += w1/
  obj-$(CONFIG_POWER_SUPPLY)    += power/
-diff --git a/drivers/cbus/Kconfig b/drivers/cbus/Kconfig
-new file mode 100644
-index 0000000..25f8039
 --- /dev/null
 +++ b/drivers/cbus/Kconfig
 @@ -0,0 +1,89 @@
@@ -4637,9 +4450,6 @@ index 0000000..25f8039
 +        sysfs.
 +
 +endmenu
-diff --git a/drivers/cbus/Makefile b/drivers/cbus/Makefile
-new file mode 100644
-index 0000000..347c2a4
 --- /dev/null
 +++ b/drivers/cbus/Makefile
 @@ -0,0 +1,14 @@
@@ -4657,9 +4467,6 @@ index 0000000..347c2a4
 +obj-$(CONFIG_CBUS_TAHVO_USER) += tahvo-user.o
 +obj-$(CONFIG_CBUS_RETU_USER)  += retu-user.o
 +obj-$(CONFIG_CBUS_RETU_HEADSET)       += retu-headset.o
-diff --git a/drivers/cbus/cbus.c b/drivers/cbus/cbus.c
-new file mode 100644
-index 0000000..774acce
 --- /dev/null
 +++ b/drivers/cbus/cbus.c
 @@ -0,0 +1,293 @@
@@ -4956,9 +4763,6 @@ index 0000000..774acce
 +MODULE_DESCRIPTION("CBUS serial protocol");
 +MODULE_LICENSE("GPL");
 +MODULE_AUTHOR("Juha Yrjölä, David Weinehall, and Mikko Ylinen");
-diff --git a/drivers/cbus/cbus.h b/drivers/cbus/cbus.h
-new file mode 100644
-index 0000000..957224c
 --- /dev/null
 +++ b/drivers/cbus/cbus.h
 @@ -0,0 +1,36 @@
@@ -4998,9 +4802,6 @@ index 0000000..957224c
 +extern int cbus_write_reg(struct cbus_host *host, int dev, int reg, u16 val);
 +
 +#endif /* __DRIVERS_CBUS_CBUS_H */
-diff --git a/drivers/cbus/retu-headset.c b/drivers/cbus/retu-headset.c
-new file mode 100644
-index 0000000..e798bc2
 --- /dev/null
 +++ b/drivers/cbus/retu-headset.c
 @@ -0,0 +1,355 @@
@@ -5359,9 +5160,6 @@ index 0000000..e798bc2
 +MODULE_DESCRIPTION("Retu/Vilma headset detection");
 +MODULE_LICENSE("GPL");
 +MODULE_AUTHOR("Juha Yrjölä");
-diff --git a/drivers/cbus/retu-pwrbutton.c b/drivers/cbus/retu-pwrbutton.c
-new file mode 100644
-index 0000000..38d7aa4
 --- /dev/null
 +++ b/drivers/cbus/retu-pwrbutton.c
 @@ -0,0 +1,118 @@
@@ -5483,9 +5281,6 @@ index 0000000..38d7aa4
 +MODULE_DESCRIPTION("Retu Power Button");
 +MODULE_LICENSE("GPL");
 +MODULE_AUTHOR("Ari Saastamoinen");
-diff --git a/drivers/cbus/retu-rtc.c b/drivers/cbus/retu-rtc.c
-new file mode 100644
-index 0000000..1ebc33b
 --- /dev/null
 +++ b/drivers/cbus/retu-rtc.c
 @@ -0,0 +1,477 @@
@@ -5966,9 +5761,6 @@ index 0000000..1ebc33b
 +MODULE_DESCRIPTION("Retu RTC");
 +MODULE_LICENSE("GPL");
 +MODULE_AUTHOR("Paul Mundt and Igor Stoppa");
-diff --git a/drivers/cbus/retu-user.c b/drivers/cbus/retu-user.c
-new file mode 100644
-index 0000000..74a7d61
 --- /dev/null
 +++ b/drivers/cbus/retu-user.c
 @@ -0,0 +1,423 @@
@@ -6395,9 +6187,6 @@ index 0000000..74a7d61
 +MODULE_DESCRIPTION("Retu ASIC user space functions");
 +MODULE_LICENSE("GPL");
 +MODULE_AUTHOR("Mikko Ylinen");
-diff --git a/drivers/cbus/retu-wdt.c b/drivers/cbus/retu-wdt.c
-new file mode 100644
-index 0000000..b7b20b7
 --- /dev/null
 +++ b/drivers/cbus/retu-wdt.c
 @@ -0,0 +1,202 @@
@@ -6603,9 +6392,6 @@ index 0000000..b7b20b7
 +MODULE_AUTHOR("Amit Kucheria");
 +MODULE_LICENSE("GPL");
 +
-diff --git a/drivers/cbus/retu.c b/drivers/cbus/retu.c
-new file mode 100644
-index 0000000..84d7840
 --- /dev/null
 +++ b/drivers/cbus/retu.c
 @@ -0,0 +1,467 @@
@@ -7076,9 +6862,6 @@ index 0000000..84d7840
 +MODULE_DESCRIPTION("Retu ASIC control");
 +MODULE_LICENSE("GPL");
 +MODULE_AUTHOR("Juha Yrjölä, David Weinehall, and Mikko Ylinen");
-diff --git a/drivers/cbus/retu.h b/drivers/cbus/retu.h
-new file mode 100644
-index 0000000..c9e044c
 --- /dev/null
 +++ b/drivers/cbus/retu.h
 @@ -0,0 +1,77 @@
@@ -7159,9 +6942,6 @@ index 0000000..c9e044c
 +extern spinlock_t retu_lock;
 +
 +#endif /* __DRIVERS_CBUS_RETU_H */
-diff --git a/drivers/cbus/tahvo-usb.c b/drivers/cbus/tahvo-usb.c
-new file mode 100644
-index 0000000..d8ad836
 --- /dev/null
 +++ b/drivers/cbus/tahvo-usb.c
 @@ -0,0 +1,777 @@
@@ -7942,9 +7722,6 @@ index 0000000..d8ad836
 +MODULE_DESCRIPTION("Tahvo USB OTG Transceiver Driver");
 +MODULE_LICENSE("GPL");
 +MODULE_AUTHOR("Juha Yrjölä, Tony Lindgren, and Timo Teräs");
-diff --git a/drivers/cbus/tahvo-user.c b/drivers/cbus/tahvo-user.c
-new file mode 100644
-index 0000000..873d648
 --- /dev/null
 +++ b/drivers/cbus/tahvo-user.c
 @@ -0,0 +1,405 @@
@@ -8353,9 +8130,6 @@ index 0000000..873d648
 +MODULE_DESCRIPTION("Tahvo ASIC user space functions");
 +MODULE_LICENSE("GPL");
 +MODULE_AUTHOR("Mikko Ylinen");
-diff --git a/drivers/cbus/tahvo.c b/drivers/cbus/tahvo.c
-new file mode 100644
-index 0000000..e734c4c
 --- /dev/null
 +++ b/drivers/cbus/tahvo.c
 @@ -0,0 +1,442 @@
@@ -8801,9 +8575,6 @@ index 0000000..e734c4c
 +MODULE_DESCRIPTION("Tahvo ASIC control");
 +MODULE_LICENSE("GPL");
 +MODULE_AUTHOR("Juha Yrjölä, David Weinehall, and Mikko Ylinen");
-diff --git a/drivers/cbus/tahvo.h b/drivers/cbus/tahvo.h
-new file mode 100644
-index 0000000..b7a8ee1
 --- /dev/null
 +++ b/drivers/cbus/tahvo.h
 @@ -0,0 +1,61 @@
@@ -8868,9 +8639,6 @@ index 0000000..b7a8ee1
 +extern spinlock_t tahvo_lock;
 +
 +#endif /* __DRIVERS_CBUS_TAHVO_H */
-diff --git a/drivers/cbus/user_retu_tahvo.h b/drivers/cbus/user_retu_tahvo.h
-new file mode 100644
-index 0000000..a5c2190
 --- /dev/null
 +++ b/drivers/cbus/user_retu_tahvo.h
 @@ -0,0 +1,75 @@
@@ -8949,21 +8717,6 @@ index 0000000..a5c2190
 +};
 +
 +#endif
-diff --git a/drivers/mmc/host/omap_hsmmc.c b/drivers/mmc/host/omap_hsmmc.c
-index 4487cc0..0aecaae 100644
---- a/drivers/mmc/host/omap_hsmmc.c
-+++ b/drivers/mmc/host/omap_hsmmc.c
-@@ -2013,7 +2013,7 @@ static struct platform_driver omap_hsmmc_driver = {
- static int __init omap_hsmmc_init(void)
- {
-       /* Register the MMC driver */
--      return platform_driver_register(&omap_hsmmc_driver);
-+      return platform_driver_probe(&omap_hsmmc_driver, omap_hsmmc_probe);
- }
- static void __exit omap_hsmmc_cleanup(void)
-diff --git a/drivers/spi/omap_uwire.c b/drivers/spi/omap_uwire.c
-index e75ba9b..7bcf409 100644
 --- a/drivers/spi/omap_uwire.c
 +++ b/drivers/spi/omap_uwire.c
 @@ -52,7 +52,7 @@
@@ -8975,7 +8728,7 @@ index e75ba9b..7bcf409 100644
  
  
  /* FIXME address is now a platform device resource,
-@@ -504,7 +504,7 @@ static int __init uwire_probe(struct platform_device *pdev)
+@@ -504,7 +504,7 @@ static int __init uwire_probe(struct pla
        }
        clk_enable(uwire->ck);
  
@@ -8995,8 +8748,6 @@ index e75ba9b..7bcf409 100644
        }
  
        return platform_driver_probe(&uwire_driver, uwire_probe);
-diff --git a/drivers/usb/Kconfig b/drivers/usb/Kconfig
-index 2407508..5620e92 100644
 --- a/drivers/usb/Kconfig
 +++ b/drivers/usb/Kconfig
 @@ -60,6 +60,7 @@ config USB_ARCH_HAS_EHCI
@@ -9007,11 +8758,9 @@ index 2407508..5620e92 100644
        default PCI
  
  # ARM SA1111 chips have a non-PCI based "OHCI-compatible" USB host interface.
-diff --git a/drivers/usb/host/ehci-hcd.c b/drivers/usb/host/ehci-hcd.c
-index 9835e07..44c208c 100644
 --- a/drivers/usb/host/ehci-hcd.c
 +++ b/drivers/usb/host/ehci-hcd.c
-@@ -1108,6 +1108,11 @@ MODULE_LICENSE ("GPL");
+@@ -1111,6 +1111,11 @@ MODULE_LICENSE ("GPL");
  #define       PLATFORM_DRIVER         ehci_hcd_au1xxx_driver
  #endif
  
@@ -9023,9 +8772,6 @@ index 9835e07..44c208c 100644
  #ifdef CONFIG_PPC_PS3
  #include "ehci-ps3.c"
  #define       PS3_SYSTEM_BUS_DRIVER   ps3_ehci_driver
-diff --git a/drivers/usb/host/ehci-omap.c b/drivers/usb/host/ehci-omap.c
-new file mode 100644
-index 0000000..7ba8df3
 --- /dev/null
 +++ b/drivers/usb/host/ehci-omap.c
 @@ -0,0 +1,755 @@
@@ -9784,11 +9530,9 @@ index 0000000..7ba8df3
 +MODULE_AUTHOR("Texas Instruments, Inc.");
 +MODULE_AUTHOR("Felipe Balbi <felipe.balbi@nokia.com>");
 +
-diff --git a/drivers/video/omap/dispc.c b/drivers/video/omap/dispc.c
-index f16e421..6f957ce 100644
 --- a/drivers/video/omap/dispc.c
 +++ b/drivers/video/omap/dispc.c
-@@ -204,6 +204,7 @@ static u32 inline dispc_read_reg(int idx)
+@@ -210,6 +210,7 @@ static u32 inline dispc_read_reg(int idx
  /* Select RFBI or bypass mode */
  static void enable_rfbi_mode(int enable)
  {
@@ -9796,7 +9540,7 @@ index f16e421..6f957ce 100644
        u32 l;
  
        l = dispc_read_reg(DISPC_CONTROL);
-@@ -216,9 +217,15 @@ static void enable_rfbi_mode(int enable)
+@@ -222,9 +223,15 @@ static void enable_rfbi_mode(int enable)
        dispc_write_reg(DISPC_CONTROL, l);
  
        /* Set bypass mode in RFBI module */
@@ -9814,7 +9558,7 @@ index f16e421..6f957ce 100644
  }
  
  static void set_lcd_data_lines(int data_lines)
-@@ -1367,6 +1374,7 @@ static int omap_dispc_init(struct omapfb_device *fbdev, int ext_mode,
+@@ -1373,6 +1380,7 @@ static int omap_dispc_init(struct omapfb
        int r;
        u32 l;
        struct lcd_panel *panel = fbdev->panel;
@@ -9822,7 +9566,7 @@ index f16e421..6f957ce 100644
        int tmo = 10000;
        int skip_init = 0;
        int i;
-@@ -1441,7 +1449,13 @@ static int omap_dispc_init(struct omapfb_device *fbdev, int ext_mode,
+@@ -1453,7 +1461,13 @@ static int omap_dispc_init(struct omapfb
        }
  
        /* L3 firewall setting: enable access to OCM RAM */