-diff --git a/Documentation/arm/OMAP/DSS b/Documentation/arm/OMAP/DSS
-new file mode 100644
-index 0000000..0af0e9e
 --- /dev/null
 +++ b/Documentation/arm/OMAP/DSS
 @@ -0,0 +1,317 @@
 +OMAP1 support
 +- Not sure if needed
 +
-diff --git a/MAINTAINERS b/MAINTAINERS
-index 8824115..3f5d39f 100644
 --- a/MAINTAINERS
 +++ b/MAINTAINERS
-@@ -3819,6 +3819,23 @@ L:      linux-omap@vger.kernel.org
+@@ -3848,6 +3848,23 @@ L:      linux-omap@vger.kernel.org
  S:    Maintained
  F:    drivers/video/omap/
  
  OMAP MMC SUPPORT
  M:    Jarkko Lavinen <jarkko.lavinen@nokia.com>
  L:    linux-omap@vger.kernel.org
-diff --git a/arch/arm/configs/omap_3430sdp_defconfig b/arch/arm/configs/omap_3430sdp_defconfig
-index 8a4a7e2..59e26e4 100644
 --- a/arch/arm/configs/omap_3430sdp_defconfig
 +++ b/arch/arm/configs/omap_3430sdp_defconfig
 @@ -1336,10 +1336,33 @@ CONFIG_FB_CFB_IMAGEBLIT=y
  # CONFIG_BACKLIGHT_LCD_SUPPORT is not set
  
  #
-diff --git a/arch/arm/mach-omap1/board-nokia770.c b/arch/arm/mach-omap1/board-nokia770.c
-index ed2a48a..6fbde33 100644
 --- a/arch/arm/mach-omap1/board-nokia770.c
 +++ b/arch/arm/mach-omap1/board-nokia770.c
 @@ -14,6 +14,7 @@
  #include <mach/hwa742.h>
  #include <mach/lcd_mipid.h>
  #include <mach/mmc.h>
-diff --git a/arch/arm/mach-omap2/board-3430sdp.c b/arch/arm/mach-omap2/board-3430sdp.c
-index efaf053..60631be 100644
 --- a/arch/arm/mach-omap2/board-3430sdp.c
 +++ b/arch/arm/mach-omap2/board-3430sdp.c
-@@ -36,6 +36,7 @@
+@@ -37,6 +37,7 @@
  #include <mach/common.h>
  #include <mach/dma.h>
  #include <mach/gpmc.h>
 +#include <mach/display.h>
  
  #include <mach/control.h>
- #include <mach/keypad.h>
-@@ -152,31 +153,152 @@ static struct spi_board_info sdp3430_spi_board_info[] __initdata = {
+ #include <mach/gpmc-smc91x.h>
+@@ -152,31 +153,152 @@ static struct spi_board_info sdp3430_spi
        },
  };
  
 +      .phy.dpi.data_lines     = 16,
 +      .platform_enable        = sdp3430_panel_enable_lcd,
 +      .platform_disable       = sdp3430_panel_disable_lcd,
- };
- 
--static struct regulator_consumer_supply sdp3430_vdac_supply = {
--      .supply         = "vdac",
--      .dev            = &sdp3430_lcd_device.dev,
++};
++
 +static struct omap_dss_device sdp3430_dvi_device = {
 +      .name                   = "dvi",
 +      .driver_name            = "generic_panel",
 +      .phy.dpi.data_lines     = 24,
 +      .platform_enable        = sdp3430_panel_enable_dvi,
 +      .platform_disable       = sdp3430_panel_disable_dvi,
- };
- 
--static struct regulator_consumer_supply sdp3430_vdvi_supply = {
--      .supply         = "vdvi",
--      .dev            = &sdp3430_lcd_device.dev,
++};
++
 +static struct omap_dss_device sdp3430_tv_device = {
 +      .name                   = "tv",
 +      .driver_name            = "venc",
 +      .phy.venc.type          = OMAP_DSS_VENC_TYPE_SVIDEO,
 +      .platform_enable        = sdp3430_panel_enable_tv,
 +      .platform_disable       = sdp3430_panel_disable_tv,
- };
- 
--static struct platform_device *sdp3430_devices[] __initdata = {
++};
++
 +
 +static struct omap_dss_device *sdp3430_dss_devices[] = {
-       &sdp3430_lcd_device,
++      &sdp3430_lcd_device,
 +      &sdp3430_dvi_device,
 +      &sdp3430_tv_device,
  };
  
--static struct omap_lcd_config sdp3430_lcd_config __initdata = {
--      .ctrl_name      = "internal",
+-static struct regulator_consumer_supply sdp3430_vdac_supply = {
+-      .supply         = "vdac",
+-      .dev            = &sdp3430_lcd_device.dev,
 +static struct omap_dss_board_info sdp3430_dss_data = {
 +      .num_devices    = ARRAY_SIZE(sdp3430_dss_devices),
 +      .devices        = sdp3430_dss_devices,
 +      .default_device = &sdp3430_lcd_device,
-+};
-+
+ };
+ 
+-static struct regulator_consumer_supply sdp3430_vdvi_supply = {
+-      .supply         = "vdvi",
+-      .dev            = &sdp3430_lcd_device.dev,
 +static struct platform_device sdp3430_dss_device = {
 +      .name           = "omapdss",
 +      .id             = -1,
 +      .dev            = {
 +              .platform_data = &sdp3430_dss_data,
 +      },
-+};
-+
+ };
+ 
+-static struct platform_device *sdp3430_devices[] __initdata = {
+-      &sdp3430_lcd_device,
 +static struct regulator_consumer_supply sdp3430_vdda_dac_supply = {
 +      .supply         = "vdda_dac",
 +      .dev            = &sdp3430_dss_device.dev,
-+};
-+
+ };
+ 
+-static struct omap_lcd_config sdp3430_lcd_config __initdata = {
+-      .ctrl_name      = "internal",
 +static struct platform_device *sdp3430_devices[] __initdata = {
 +      &sdp3430_dss_device,
  };
  };
  
  static void __init omap_3430sdp_init_irq(void)
-@@ -392,22 +514,34 @@ static struct regulator_init_data sdp3430_vdac = {
+@@ -392,22 +514,34 @@ static struct regulator_init_data sdp343
                                        | REGULATOR_CHANGE_STATUS,
        },
        .num_consumer_supplies  = 1,
  };
  
  static struct twl4030_platform_data sdp3430_twldata = {
-@@ -499,6 +633,7 @@ static void __init omap_3430sdp_init(void)
+@@ -499,6 +633,7 @@ static void __init omap_3430sdp_init(voi
        omap_serial_init();
        usb_musb_init();
        board_smc91x_init();
        enable_board_wakeup_source();
  }
  
-diff --git a/arch/arm/mach-omap2/clock24xx.c b/arch/arm/mach-omap2/clock24xx.c
-index e2dbedd..8524067 100644
 --- a/arch/arm/mach-omap2/clock24xx.c
 +++ b/arch/arm/mach-omap2/clock24xx.c
-@@ -116,10 +116,10 @@ static struct omap_clk omap24xx_clks[] = {
+@@ -116,10 +116,10 @@ static struct omap_clk omap24xx_clks[] =
        CLK(NULL,       "mdm_ick",      &mdm_ick,       CK_243X),
        CLK(NULL,       "mdm_osc_ck",   &mdm_osc_ck,    CK_243X),
        /* DSS domain clocks */
        /* L3 domain clocks */
        CLK(NULL,       "core_l3_ck",   &core_l3_ck,    CK_243X | CK_242X),
        CLK(NULL,       "ssi_fck",      &ssi_ssr_sst_fck, CK_243X | CK_242X),
-diff --git a/arch/arm/mach-omap2/clock34xx.c b/arch/arm/mach-omap2/clock34xx.c
-index 489556e..0a7e9ac 100644
 --- a/arch/arm/mach-omap2/clock34xx.c
 +++ b/arch/arm/mach-omap2/clock34xx.c
-@@ -236,13 +236,13 @@ static struct omap_clk omap34xx_clks[] = {
+@@ -236,13 +236,13 @@ static struct omap_clk omap34xx_clks[] =
        CLK("omap_rng", "ick",          &rng_ick,       CK_343X),
        CLK(NULL,       "sha11_ick",    &sha11_ick,     CK_343X),
        CLK(NULL,       "des1_ick",     &des1_ick,      CK_343X),
        CLK(NULL,       "cam_mclk",     &cam_mclk,      CK_343X),
        CLK(NULL,       "cam_ick",      &cam_ick,       CK_343X),
        CLK(NULL,       "csi2_96m_fck", &csi2_96m_fck,  CK_343X),
-diff --git a/arch/arm/mach-omap2/io.c b/arch/arm/mach-omap2/io.c
-index e3a3bad..adbb905 100644
 --- a/arch/arm/mach-omap2/io.c
 +++ b/arch/arm/mach-omap2/io.c
 @@ -22,17 +22,18 @@
  }
  
  /*
-diff --git a/arch/arm/mach-omap2/sdrc.c b/arch/arm/mach-omap2/sdrc.c
-index 9e3bd4f..6a5a2c5 100644
 --- a/arch/arm/mach-omap2/sdrc.c
 +++ b/arch/arm/mach-omap2/sdrc.c
-@@ -133,3 +133,19 @@ void __init omap2_sdrc_init(struct omap_sdrc_params *sdrc_cs0,
+@@ -133,3 +133,19 @@ void __init omap2_sdrc_init(struct omap_
                (1 << SDRC_POWER_PAGEPOLICY_SHIFT);
        sdrc_write_reg(l, SDRC_POWER);
  }
 +      sms_write_reg(val, SMS_ROT_PHYSICAL_BA(ctx));
 +}
 +
-diff --git a/arch/arm/plat-omap/fb.c b/arch/arm/plat-omap/fb.c
-index 3746222..70fbeae 100644
 --- a/arch/arm/plat-omap/fb.c
 +++ b/arch/arm/plat-omap/fb.c
 @@ -28,13 +28,13 @@
  
  void omapfb_reserve_sdram(void) {}
  unsigned long omapfb_reserve_sram(unsigned long sram_pstart,
-@@ -339,5 +365,16 @@ unsigned long omapfb_reserve_sram(unsigned long sram_pstart,
+@@ -339,5 +365,16 @@ unsigned long omapfb_reserve_sram(unsign
        return 0;
  }
  
 +}
  
  #endif
-diff --git a/arch/arm/plat-omap/include/mach/display.h b/arch/arm/plat-omap/include/mach/display.h
-new file mode 100644
-index 0000000..4c7422e
 --- /dev/null
 +++ b/arch/arm/plat-omap/include/mach/display.h
 @@ -0,0 +1,540 @@
 +#define to_dss_device(x) container_of((x), struct omap_dss_device, dev)
 +
 +#endif
-diff --git a/arch/arm/plat-omap/include/mach/omapfb.h b/arch/arm/plat-omap/include/mach/omapfb.h
-deleted file mode 100644
-index b226bdf..0000000
 --- a/arch/arm/plat-omap/include/mach/omapfb.h
 +++ /dev/null
 @@ -1,398 +0,0 @@
 -#endif /* __KERNEL__ */
 -
 -#endif /* __OMAPFB_H */
-diff --git a/arch/arm/plat-omap/include/mach/sdrc.h b/arch/arm/plat-omap/include/mach/sdrc.h
-index 1c09c78..3b157ce 100644
 --- a/arch/arm/plat-omap/include/mach/sdrc.h
 +++ b/arch/arm/plat-omap/include/mach/sdrc.h
 @@ -88,7 +88,10 @@
  /* REVISIT: fill in other SMS registers here */
  
  
-@@ -121,6 +124,10 @@ int omap2_sdrc_get_params(unsigned long r,
+@@ -121,6 +124,10 @@ int omap2_sdrc_get_params(unsigned long 
                          struct omap_sdrc_params **sdrc_cs0,
                          struct omap_sdrc_params **sdrc_cs1);
  
  #ifdef CONFIG_ARCH_OMAP2
  
  struct memory_timings {
-diff --git a/arch/arm/plat-omap/include/mach/vram.h b/arch/arm/plat-omap/include/mach/vram.h
-new file mode 100644
-index 0000000..fe72f81
 --- /dev/null
 +++ b/arch/arm/plat-omap/include/mach/vram.h
 @@ -0,0 +1,63 @@
 +#endif
 +
 +#endif
-diff --git a/arch/arm/plat-omap/include/mach/vrfb.h b/arch/arm/plat-omap/include/mach/vrfb.h
-new file mode 100644
-index 0000000..8790612
 --- /dev/null
 +++ b/arch/arm/plat-omap/include/mach/vrfb.h
 @@ -0,0 +1,46 @@
 +extern void omap_vrfb_restore_context(void);
 +
 +#endif /* __VRFB_H */
-diff --git a/arch/arm/plat-omap/sram.c b/arch/arm/plat-omap/sram.c
-index 75d1f26..aa9fb63 100644
 --- a/arch/arm/plat-omap/sram.c
 +++ b/arch/arm/plat-omap/sram.c
 @@ -28,6 +28,7 @@
        omap_sram_ceil = omap_sram_base + omap_sram_size;
  }
  
-diff --git a/drivers/video/Kconfig b/drivers/video/Kconfig
-index 9bbb285..af0448f 100644
 --- a/drivers/video/Kconfig
 +++ b/drivers/video/Kconfig
 @@ -2161,6 +2161,7 @@ config FB_BROADSHEET
  
  source "drivers/video/backlight/Kconfig"
  source "drivers/video/display/Kconfig"
-diff --git a/drivers/video/Makefile b/drivers/video/Makefile
-index 80232e1..0f8da33 100644
 --- a/drivers/video/Makefile
 +++ b/drivers/video/Makefile
-@@ -124,6 +124,7 @@ obj-$(CONFIG_FB_SM501)            += sm501fb.o
+@@ -124,6 +124,7 @@ obj-$(CONFIG_FB_SM501)            += sm5
  obj-$(CONFIG_FB_XILINX)           += xilinxfb.o
  obj-$(CONFIG_FB_SH_MOBILE_LCDC)         += sh_mobile_lcdcfb.o
  obj-$(CONFIG_FB_OMAP)             += omap/
  obj-$(CONFIG_XEN_FBDEV_FRONTEND)  += xen-fbfront.o
  obj-$(CONFIG_FB_CARMINE)          += carminefb.o
  obj-$(CONFIG_FB_MB862XX)        += mb862xx/
-diff --git a/drivers/video/omap/Kconfig b/drivers/video/omap/Kconfig
-index 551e3e9..455c605 100644
 --- a/drivers/video/omap/Kconfig
 +++ b/drivers/video/omap/Kconfig
 @@ -1,6 +1,7 @@
        help
          Say Y here if you want to enable checking if the bootloader has
          already initialized the display controller. In this case the
-diff --git a/drivers/video/omap/blizzard.c b/drivers/video/omap/blizzard.c
-index 70dadf9..e0d693e 100644
 --- a/drivers/video/omap/blizzard.c
 +++ b/drivers/video/omap/blizzard.c
 @@ -27,9 +27,9 @@
  #include "dispc.h"
  
  #define MODULE_NAME                           "blizzard"
-diff --git a/drivers/video/omap/dispc.c b/drivers/video/omap/dispc.c
-index f16e421..3f828e6 100644
 --- a/drivers/video/omap/dispc.c
 +++ b/drivers/video/omap/dispc.c
 @@ -24,11 +24,12 @@
  static void enable_lcd_clocks(int enable);
  
  static void inline dispc_write_reg(int idx, u32 val)
-@@ -907,20 +913,20 @@ static irqreturn_t omap_dispc_irq_handler(int irq, void *dev)
+@@ -907,20 +913,20 @@ static irqreturn_t omap_dispc_irq_handle
  
  static int get_dss_clocks(void)
  {
        if (IS_ERR(dispc.dss_54m_fck)) {
                dev_err(dispc.fbdev->dev, "can't get tv_fck\n");
                clk_put(dispc.dss_ick);
-@@ -1371,6 +1377,12 @@ static int omap_dispc_init(struct omapfb_device *fbdev, int ext_mode,
+@@ -1371,6 +1377,12 @@ static int omap_dispc_init(struct omapfb
        int skip_init = 0;
        int i;
  
  }
  
  const struct lcd_ctrl omap2_int_ctrl = {
-diff --git a/drivers/video/omap/hwa742.c b/drivers/video/omap/hwa742.c
-index ca51583..b84fb7c 100644
 --- a/drivers/video/omap/hwa742.c
 +++ b/drivers/video/omap/hwa742.c
 @@ -27,8 +27,8 @@
  
  #define HWA742_REV_CODE_REG       0x0
  #define HWA742_CONFIG_REG         0x2
-diff --git a/drivers/video/omap/lcd_2430sdp.c b/drivers/video/omap/lcd_2430sdp.c
-index 393712b..7b7690a 100644
 --- a/drivers/video/omap/lcd_2430sdp.c
 +++ b/drivers/video/omap/lcd_2430sdp.c
 @@ -28,9 +28,10 @@
  #define SDP2430_LCD_PANEL_BACKLIGHT_GPIO      91
  #define SDP2430_LCD_PANEL_ENABLE_GPIO         154
  #define SDP3430_LCD_PANEL_BACKLIGHT_GPIO      24
-diff --git a/drivers/video/omap/lcd_ams_delta.c b/drivers/video/omap/lcd_ams_delta.c
-index 1f74399..1d3fd13 100644
 --- a/drivers/video/omap/lcd_ams_delta.c
 +++ b/drivers/video/omap/lcd_ams_delta.c
 @@ -27,7 +27,8 @@
  
  #define AMS_DELTA_DEFAULT_CONTRAST    112
  
-diff --git a/drivers/video/omap/lcd_apollon.c b/drivers/video/omap/lcd_apollon.c
-index 626ae3a..e099ad1 100644
 --- a/drivers/video/omap/lcd_apollon.c
 +++ b/drivers/video/omap/lcd_apollon.c
 @@ -26,7 +26,8 @@
  
  /* #define USE_35INCH_LCD 1 */
  
-diff --git a/drivers/video/omap/lcd_h3.c b/drivers/video/omap/lcd_h3.c
-index 417ae5e..8df6887 100644
 --- a/drivers/video/omap/lcd_h3.c
 +++ b/drivers/video/omap/lcd_h3.c
 @@ -24,7 +24,7 @@
  
  #define MODULE_NAME   "omapfb-lcd_h3"
  
-diff --git a/drivers/video/omap/lcd_h4.c b/drivers/video/omap/lcd_h4.c
-index 0c398bd..03a06a9 100644
 --- a/drivers/video/omap/lcd_h4.c
 +++ b/drivers/video/omap/lcd_h4.c
 @@ -22,7 +22,7 @@
  
  static int h4_panel_init(struct lcd_panel *panel, struct omapfb_device *fbdev)
  {
-diff --git a/drivers/video/omap/lcd_inn1510.c b/drivers/video/omap/lcd_inn1510.c
-index cdbd8bb..18f1422 100644
 --- a/drivers/video/omap/lcd_inn1510.c
 +++ b/drivers/video/omap/lcd_inn1510.c
 @@ -24,7 +24,7 @@
  
  static int innovator1510_panel_init(struct lcd_panel *panel,
                                    struct omapfb_device *fbdev)
-diff --git a/drivers/video/omap/lcd_inn1610.c b/drivers/video/omap/lcd_inn1610.c
-index 268f7f8..9fff86f 100644
 --- a/drivers/video/omap/lcd_inn1610.c
 +++ b/drivers/video/omap/lcd_inn1610.c
 @@ -23,7 +23,7 @@
  
  #define MODULE_NAME   "omapfb-lcd_h3"
  
-diff --git a/drivers/video/omap/lcd_ldp.c b/drivers/video/omap/lcd_ldp.c
-index dbfe897..44a43ea 100644
 --- a/drivers/video/omap/lcd_ldp.c
 +++ b/drivers/video/omap/lcd_ldp.c
 @@ -28,9 +28,10 @@
  #define LCD_PANEL_BACKLIGHT_GPIO      (15 + OMAP_MAX_GPIO_LINES)
  #define LCD_PANEL_ENABLE_GPIO         (7 + OMAP_MAX_GPIO_LINES)
  
-diff --git a/drivers/video/omap/lcd_mipid.c b/drivers/video/omap/lcd_mipid.c
-index 918ee89..62e1975 100644
 --- a/drivers/video/omap/lcd_mipid.c
 +++ b/drivers/video/omap/lcd_mipid.c
 @@ -23,9 +23,10 @@
  #define MIPID_MODULE_NAME             "lcd_mipid"
  
  #define MIPID_CMD_READ_DISP_ID                0x04
-diff --git a/drivers/video/omap/lcd_omap2evm.c b/drivers/video/omap/lcd_omap2evm.c
-index 7a2bbe2..c3be87c 100644
 --- a/drivers/video/omap/lcd_omap2evm.c
 +++ b/drivers/video/omap/lcd_omap2evm.c
 @@ -27,9 +27,10 @@
  #define LCD_PANEL_ENABLE_GPIO 154
  #define LCD_PANEL_LR          128
  #define LCD_PANEL_UD          129
-diff --git a/drivers/video/omap/lcd_omap3beagle.c b/drivers/video/omap/lcd_omap3beagle.c
-index 4011910..0608a25 100644
 --- a/drivers/video/omap/lcd_omap3beagle.c
 +++ b/drivers/video/omap/lcd_omap3beagle.c
 @@ -26,9 +26,10 @@
  #define LCD_PANEL_ENABLE_GPIO       170
  
  static int omap3beagle_panel_init(struct lcd_panel *panel,
-diff --git a/drivers/video/omap/lcd_omap3evm.c b/drivers/video/omap/lcd_omap3evm.c
-index b6a4c2c..c204afb 100644
 --- a/drivers/video/omap/lcd_omap3evm.c
 +++ b/drivers/video/omap/lcd_omap3evm.c
 @@ -26,9 +26,10 @@
  #define LCD_PANEL_ENABLE_GPIO       153
  #define LCD_PANEL_LR                2
  #define LCD_PANEL_UD                3
-diff --git a/drivers/video/omap/lcd_osk.c b/drivers/video/omap/lcd_osk.c
-index b3fa88b..5755b5c 100644
 --- a/drivers/video/omap/lcd_osk.c
 +++ b/drivers/video/omap/lcd_osk.c
 @@ -25,7 +25,7 @@
  
  static int osk_panel_init(struct lcd_panel *panel, struct omapfb_device *fbdev)
  {
-diff --git a/drivers/video/omap/lcd_overo.c b/drivers/video/omap/lcd_overo.c
-index 2bc5c92..63ebb1f 100644
 --- a/drivers/video/omap/lcd_overo.c
 +++ b/drivers/video/omap/lcd_overo.c
 @@ -25,9 +25,10 @@
  #define LCD_ENABLE       144
  
  static int overo_panel_init(struct lcd_panel *panel,
-diff --git a/drivers/video/omap/lcd_palmte.c b/drivers/video/omap/lcd_palmte.c
-index 4bf3c79..7e11a75 100644
 --- a/drivers/video/omap/lcd_palmte.c
 +++ b/drivers/video/omap/lcd_palmte.c
 @@ -24,7 +24,7 @@
  
  static int palmte_panel_init(struct lcd_panel *panel,
                                struct omapfb_device *fbdev)
-diff --git a/drivers/video/omap/lcd_palmtt.c b/drivers/video/omap/lcd_palmtt.c
-index 48ea1f9..ff0e6d7 100644
 --- a/drivers/video/omap/lcd_palmtt.c
 +++ b/drivers/video/omap/lcd_palmtt.c
 @@ -30,7 +30,7 @@ GPIO13 - screen blanking
  
  static int palmtt_panel_init(struct lcd_panel *panel,
        struct omapfb_device *fbdev)
-diff --git a/drivers/video/omap/lcd_palmz71.c b/drivers/video/omap/lcd_palmz71.c
-index 0697d29..2334e56 100644
 --- a/drivers/video/omap/lcd_palmz71.c
 +++ b/drivers/video/omap/lcd_palmz71.c
 @@ -24,7 +24,7 @@
  
  static int palmz71_panel_init(struct lcd_panel *panel,
                              struct omapfb_device *fbdev)
-diff --git a/drivers/video/omap/lcdc.c b/drivers/video/omap/lcdc.c
-index ab39492..520ed97 100644
 --- a/drivers/video/omap/lcdc.c
 +++ b/drivers/video/omap/lcdc.c
 @@ -30,10 +30,11 @@
  #include "lcdc.h"
  
  #define MODULE_NAME                   "lcdc"
-diff --git a/drivers/video/omap/omapfb.h b/drivers/video/omap/omapfb.h
-new file mode 100644
-index 0000000..46e4714
 --- /dev/null
 +++ b/drivers/video/omap/omapfb.h
 @@ -0,0 +1,227 @@
 +                                     void *callback_data);
 +
 +#endif /* __OMAPFB_H */
-diff --git a/drivers/video/omap/omapfb_main.c b/drivers/video/omap/omapfb_main.c
-index 0d0c8c8..a27614d 100644
 --- a/drivers/video/omap/omapfb_main.c
 +++ b/drivers/video/omap/omapfb_main.c
 @@ -29,8 +29,8 @@
  #include "lcdc.h"
  #include "dispc.h"
  
-diff --git a/drivers/video/omap/rfbi.c b/drivers/video/omap/rfbi.c
-index ee01e84..fed7b1b 100644
 --- a/drivers/video/omap/rfbi.c
 +++ b/drivers/video/omap/rfbi.c
 @@ -27,8 +27,7 @@
  #include "dispc.h"
  
  /* To work around an RFBI transfer rate limitation */
-diff --git a/drivers/video/omap/sossi.c b/drivers/video/omap/sossi.c
-index a769462..6853627 100644
 --- a/drivers/video/omap/sossi.c
 +++ b/drivers/video/omap/sossi.c
 @@ -25,8 +25,8 @@
  #include "lcdc.h"
  
  #define MODULE_NAME           "omapfb-sossi"
-diff --git a/drivers/video/omap2/Kconfig b/drivers/video/omap2/Kconfig
-new file mode 100644
-index 0000000..d877c36
 --- /dev/null
 +++ b/drivers/video/omap2/Kconfig
 @@ -0,0 +1,9 @@
 +source "drivers/video/omap2/dss/Kconfig"
 +source "drivers/video/omap2/omapfb/Kconfig"
 +source "drivers/video/omap2/displays/Kconfig"
-diff --git a/drivers/video/omap2/Makefile b/drivers/video/omap2/Makefile
-new file mode 100644
-index 0000000..d853d05
 --- /dev/null
 +++ b/drivers/video/omap2/Makefile
 @@ -0,0 +1,6 @@
 +obj-y += dss/
 +obj-y += omapfb/
 +obj-y += displays/
-diff --git a/drivers/video/omap2/displays/Kconfig b/drivers/video/omap2/displays/Kconfig
-new file mode 100644
-index 0000000..79d2861
 --- /dev/null
 +++ b/drivers/video/omap2/displays/Kconfig
 @@ -0,0 +1,28 @@
 +          Taal DSI command mode panel from TPO.
 +
 +endmenu
-diff --git a/drivers/video/omap2/displays/Makefile b/drivers/video/omap2/displays/Makefile
-new file mode 100644
-index 0000000..d44e765
 --- /dev/null
 +++ b/drivers/video/omap2/displays/Makefile
 @@ -0,0 +1,5 @@
 +obj-$(CONFIG_PANEL_SHARP_LS037V7DW01) += panel-sharp-ls037v7dw01.o
 +
 +obj-$(CONFIG_PANEL_TAAL) += panel-taal.o
-diff --git a/drivers/video/omap2/displays/panel-generic.c b/drivers/video/omap2/displays/panel-generic.c
-new file mode 100644
-index 0000000..738147e
 --- /dev/null
 +++ b/drivers/video/omap2/displays/panel-generic.c
 @@ -0,0 +1,104 @@
 +module_init(generic_panel_drv_init);
 +module_exit(generic_panel_drv_exit);
 +MODULE_LICENSE("GPL");
-diff --git a/drivers/video/omap2/displays/panel-samsung-lte430wq-f0c.c b/drivers/video/omap2/displays/panel-samsung-lte430wq-f0c.c
-new file mode 100644
-index 0000000..eafe581
 --- /dev/null
 +++ b/drivers/video/omap2/displays/panel-samsung-lte430wq-f0c.c
 @@ -0,0 +1,113 @@
 +module_init(samsung_lte_panel_drv_init);
 +module_exit(samsung_lte_panel_drv_exit);
 +MODULE_LICENSE("GPL");
-diff --git a/drivers/video/omap2/displays/panel-sharp-ls037v7dw01.c b/drivers/video/omap2/displays/panel-sharp-ls037v7dw01.c
-new file mode 100644
-index 0000000..2f8f0df
 --- /dev/null
 +++ b/drivers/video/omap2/displays/panel-sharp-ls037v7dw01.c
 @@ -0,0 +1,153 @@
 +module_init(sharp_ls_panel_drv_init);
 +module_exit(sharp_ls_panel_drv_exit);
 +MODULE_LICENSE("GPL");
-diff --git a/drivers/video/omap2/displays/panel-taal.c b/drivers/video/omap2/displays/panel-taal.c
-new file mode 100644
-index 0000000..84f0d47
 --- /dev/null
 +++ b/drivers/video/omap2/displays/panel-taal.c
 @@ -0,0 +1,900 @@
 +MODULE_AUTHOR("Tomi Valkeinen <tomi.valkeinen@nokia.com>");
 +MODULE_DESCRIPTION("Taal Driver");
 +MODULE_LICENSE("GPL");
-diff --git a/drivers/video/omap2/dss/Kconfig b/drivers/video/omap2/dss/Kconfig
-new file mode 100644
-index 0000000..71d8dec
 --- /dev/null
 +++ b/drivers/video/omap2/dss/Kconfig
 @@ -0,0 +1,89 @@
 +        is very high.
 +
 +endif
-diff --git a/drivers/video/omap2/dss/Makefile b/drivers/video/omap2/dss/Makefile
-new file mode 100644
-index 0000000..980c72c
 --- /dev/null
 +++ b/drivers/video/omap2/dss/Makefile
 @@ -0,0 +1,6 @@
 +omapdss-$(CONFIG_OMAP2_DSS_VENC) += venc.o
 +omapdss-$(CONFIG_OMAP2_DSS_SDI) += sdi.o
 +omapdss-$(CONFIG_OMAP2_DSS_DSI) += dsi.o
-diff --git a/drivers/video/omap2/dss/core.c b/drivers/video/omap2/dss/core.c
-new file mode 100644
-index 0000000..e8d430c
 --- /dev/null
 +++ b/drivers/video/omap2/dss/core.c
 @@ -0,0 +1,917 @@
 +MODULE_DESCRIPTION("OMAP2/3 Display Subsystem");
 +MODULE_LICENSE("GPL v2");
 +
-diff --git a/drivers/video/omap2/dss/dispc.c b/drivers/video/omap2/dss/dispc.c
-new file mode 100644
-index 0000000..d648475
 --- /dev/null
 +++ b/drivers/video/omap2/dss/dispc.c
 @@ -0,0 +1,3182 @@
 +
 +      return r;
 +}
-diff --git a/drivers/video/omap2/dss/display.c b/drivers/video/omap2/dss/display.c
-new file mode 100644
-index 0000000..6b5d0cf
 --- /dev/null
 +++ b/drivers/video/omap2/dss/display.c
 @@ -0,0 +1,658 @@
 +}
 +EXPORT_SYMBOL(omap_dss_stop_device);
 +
-diff --git a/drivers/video/omap2/dss/dpi.c b/drivers/video/omap2/dss/dpi.c
-new file mode 100644
-index 0000000..b6543c8
 --- /dev/null
 +++ b/drivers/video/omap2/dss/dpi.c
 @@ -0,0 +1,388 @@
 +{
 +}
 +
-diff --git a/drivers/video/omap2/dss/dsi.c b/drivers/video/omap2/dss/dsi.c
-new file mode 100644
-index 0000000..d43b9ce
 --- /dev/null
 +++ b/drivers/video/omap2/dss/dsi.c
 @@ -0,0 +1,3509 @@
 +      DSSDBG("omap_dsi_exit\n");
 +}
 +
-diff --git a/drivers/video/omap2/dss/dss.c b/drivers/video/omap2/dss/dss.c
-new file mode 100644
-index 0000000..aab9758
 --- /dev/null
 +++ b/drivers/video/omap2/dss/dss.c
 @@ -0,0 +1,347 @@
 +      iounmap(dss.base);
 +}
 +
-diff --git a/drivers/video/omap2/dss/dss.h b/drivers/video/omap2/dss/dss.h
-new file mode 100644
-index 0000000..50f7f5f
 --- /dev/null
 +++ b/drivers/video/omap2/dss/dss.h
 @@ -0,0 +1,356 @@
 +int rfbi_init_display(struct omap_dss_device *display);
 +
 +#endif
-diff --git a/drivers/video/omap2/dss/manager.c b/drivers/video/omap2/dss/manager.c
-new file mode 100644
-index 0000000..7ee0b2b
 --- /dev/null
 +++ b/drivers/video/omap2/dss/manager.c
 @@ -0,0 +1,1487 @@
 +}
 +EXPORT_SYMBOL(omap_dss_get_overlay_manager);
 +
-diff --git a/drivers/video/omap2/dss/overlay.c b/drivers/video/omap2/dss/overlay.c
-new file mode 100644
-index 0000000..c7cb81b
 --- /dev/null
 +++ b/drivers/video/omap2/dss/overlay.c
 @@ -0,0 +1,673 @@
 +      num_overlays = 0;
 +}
 +
-diff --git a/drivers/video/omap2/dss/rfbi.c b/drivers/video/omap2/dss/rfbi.c
-new file mode 100644
-index 0000000..9dd2349
 --- /dev/null
 +++ b/drivers/video/omap2/dss/rfbi.c
 @@ -0,0 +1,1310 @@
 +
 +      return 0;
 +}
-diff --git a/drivers/video/omap2/dss/sdi.c b/drivers/video/omap2/dss/sdi.c
-new file mode 100644
-index 0000000..a9c727e
 --- /dev/null
 +++ b/drivers/video/omap2/dss/sdi.c
 @@ -0,0 +1,261 @@
 +void sdi_exit(void)
 +{
 +}
-diff --git a/drivers/video/omap2/dss/venc.c b/drivers/video/omap2/dss/venc.c
-new file mode 100644
-index 0000000..cf7827e
 --- /dev/null
 +++ b/drivers/video/omap2/dss/venc.c
 @@ -0,0 +1,797 @@
 +
 +#undef DUMPREG
 +}
-diff --git a/drivers/video/omap2/omapfb/Kconfig b/drivers/video/omap2/omapfb/Kconfig
-new file mode 100644
-index 0000000..bb694cc
 --- /dev/null
 +++ b/drivers/video/omap2/omapfb/Kconfig
 @@ -0,0 +1,37 @@
 +      help
 +        Select the number of framebuffers created. OMAP2/3 has 3 overlays
 +        so normally this would be 3.
-diff --git a/drivers/video/omap2/omapfb/Makefile b/drivers/video/omap2/omapfb/Makefile
-new file mode 100644
-index 0000000..51c2e00
 --- /dev/null
 +++ b/drivers/video/omap2/omapfb/Makefile
 @@ -0,0 +1,2 @@
 +obj-$(CONFIG_FB_OMAP2) += omapfb.o
 +omapfb-y := omapfb-main.o omapfb-sysfs.o omapfb-ioctl.o
-diff --git a/drivers/video/omap2/omapfb/omapfb-ioctl.c b/drivers/video/omap2/omapfb/omapfb-ioctl.c
-new file mode 100644
-index 0000000..70fb64e
 --- /dev/null
 +++ b/drivers/video/omap2/omapfb/omapfb-ioctl.c
 @@ -0,0 +1,727 @@
 +}
 +
 +
-diff --git a/drivers/video/omap2/omapfb/omapfb-main.c b/drivers/video/omap2/omapfb/omapfb-main.c
-new file mode 100644
-index 0000000..7f5ec3b
 --- /dev/null
 +++ b/drivers/video/omap2/omapfb/omapfb-main.c
 @@ -0,0 +1,2137 @@
 +MODULE_AUTHOR("Tomi Valkeinen <tomi.valkeinen@nokia.com>");
 +MODULE_DESCRIPTION("OMAP2/3 Framebuffer");
 +MODULE_LICENSE("GPL v2");
-diff --git a/drivers/video/omap2/omapfb/omapfb-sysfs.c b/drivers/video/omap2/omapfb/omapfb-sysfs.c
-new file mode 100644
-index 0000000..ef30e0e
 --- /dev/null
 +++ b/drivers/video/omap2/omapfb/omapfb-sysfs.c
 @@ -0,0 +1,507 @@
 +      }
 +}
 +
-diff --git a/drivers/video/omap2/omapfb/omapfb.h b/drivers/video/omap2/omapfb/omapfb.h
-new file mode 100644
-index 0000000..d9ee986
 --- /dev/null
 +++ b/drivers/video/omap2/omapfb/omapfb.h
 @@ -0,0 +1,146 @@
 +}
 +
 +#endif
-diff --git a/drivers/video/omap2/vram.c b/drivers/video/omap2/vram.c
-new file mode 100644
-index 0000000..634ce23
 --- /dev/null
 +++ b/drivers/video/omap2/vram.c
 @@ -0,0 +1,655 @@
 +      omap_vram_sram_start = start;
 +      omap_vram_sram_size = size;
 +}
-diff --git a/drivers/video/omap2/vrfb.c b/drivers/video/omap2/vrfb.c
-new file mode 100644
-index 0000000..8726689
 --- /dev/null
 +++ b/drivers/video/omap2/vrfb.c
 @@ -0,0 +1,277 @@
 +}
 +EXPORT_SYMBOL(omap_vrfb_resume_ctx);
 +
-diff --git a/include/linux/omapfb.h b/include/linux/omapfb.h
-new file mode 100644
-index 0000000..52e0987
 --- /dev/null
 +++ b/include/linux/omapfb.h
 @@ -0,0 +1,242 @@
 
-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"
  
  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] = {
                .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] = {
                .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
         */
  
        /*
         * 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 */
  }
  
  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] = {
                .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] = {
                .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
         */
  
        /*
         * 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 */
  }
  
  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 {
        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)
         */
                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[] __
        }
  };
  
  #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);
  }
  
        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,
  };
  
  #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)
  {
  
        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 @@
  
  #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);
        }
  #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)
  {
                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 @@
        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 @@
  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]
  
  #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[] = {
        {
                .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,
        },
        {
                .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,
        },
        {
                .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,
        },
        }
  
        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 @@
  
  #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
  
  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,
        .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) */
  }
  
  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,
        .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)
  {
  }
  
  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,
        .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,
        .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,
        .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)
        .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)
        .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,
        .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
        }
  }
  
  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();
        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,
        .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,
  };
  
        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,
        .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,
  };
  
  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();
        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,
        .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,
  };
  
        .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,
        .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,
        .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 @@
  
  /*
   * 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 @@
  
  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");
  }
  
  
        /*
         * 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;
        }
  
        /*
-@@ -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;
  
        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,
        },
        {
                .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)
  
                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 @@
        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
         */
  
  
        /*
         * 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
         */
        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),         \
        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();
        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);
  
        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;
  
        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
                }
        }
  
  }
  
  /**
-@@ -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);
        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;
  
  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 @@
  
  /*
   * 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)
  #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);
                .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[] = {
        {
                .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[] = {
        {
                .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[] = {
        {
                .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 */
  
        {
                .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.
         */
  
                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;
  
                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:
  
  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:
  
  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
  #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 @@
 +
 +#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,
  };
  
  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)
        } 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)
  {
                }
        }
  
-@@ -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));
                        }
                }
        }
-@@ -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));
  }
  
  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;
  #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 @@
 -#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
 - */
 -#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
  
  /*
 -#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
                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
                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
                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
                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
                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
                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
                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
                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
                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
  #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;
        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);
                        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 @@
  #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 @@
 +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 @@
                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 @@
                /*
                 * 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 @@
  #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 @@
 -#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)
  /*
   * ----------------------------------------------------------------------------
   * 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 @@
  
  #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 @@
  
  #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 @@
  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 @@
  
  #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 @@
  
  #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 @@
 +
 +#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 @@
  
  /* 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 @@
  #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;
                        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 @@
  #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 @@
 -#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 @@
  #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);
 +              __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 @@
  
                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;
  
                     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)
  {
  
                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;
  
  
                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
  
  #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)
  
  #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;
                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;
                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)
  {
                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/
  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 @@
 +        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 @@
 +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 @@
 +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 @@
 +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 @@
 +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 @@
 +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 @@
 +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 @@
 +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 @@
 +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 @@
 +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 @@
 +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 @@
 +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 @@
 +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 @@
 +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 @@
 +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 @@
 +};
 +
 +#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 @@
  
  
  /* 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);
  
        }
  
        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
        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
  
  #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 @@
 +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)
  {
        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 */
  }
  
  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;
        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 */