aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/kernel-version.mk4
-rw-r--r--target/linux/generic-2.6/patches-2.6.32/980-vm_exports.patch8
-rw-r--r--target/linux/omap35xx/Makefile2
-rw-r--r--target/linux/omap35xx/patches-2.6.32/001-DSS2.patch260
-rw-r--r--target/linux/omap35xx/patches-2.6.32/002-OMAP.patch512
-rw-r--r--target/linux/omap35xx/patches-2.6.32/003-enable_dss2_beagleboard.patch4
-rw-r--r--target/linux/omap35xx/patches-2.6.32/004-compile_fix_dispc.patch4
-rw-r--r--target/linux/xburst/Makefile2
-rw-r--r--target/linux/xburst/patches-2.6.32/001-core.patch65
-rw-r--r--target/linux/xburst/patches-2.6.32/050-nand.patch15
-rw-r--r--target/linux/xburst/patches-2.6.32/051-fb.patch9
-rw-r--r--target/linux/xburst/patches-2.6.32/052-rtc.patch9
-rw-r--r--target/linux/xburst/patches-2.6.32/053-adc.patch7
-rw-r--r--target/linux/xburst/patches-2.6.32/100-battery.patch9
-rw-r--r--target/linux/xburst/patches-2.6.32/101-mmc.patch7
-rw-r--r--target/linux/xburst/patches-2.6.32/103-lcm.patch9
-rw-r--r--target/linux/xburst/patches-2.6.32/103-serial.patch21
-rw-r--r--target/linux/xburst/patches-2.6.32/104-usb.patch13
-rw-r--r--target/linux/xburst/patches-2.6.32/105-sound.patch19
-rw-r--r--target/linux/xburst/patches-2.6.32/220-add-2gb-nand-support.patch7
-rw-r--r--target/linux/xburst/patches-2.6.32/300-jffs2-summery-vmalloc.patch9
-rw-r--r--target/linux/xburst/patches-2.6.32/400-spi-gpio-3wire.patch11
-rw-r--r--target/linux/xburst/patches-2.6.32/420-fb-notifier-pre-post.patch9
-rw-r--r--target/linux/xburst/patches-2.6.32/500-modifier-keys.patch11
-rw-r--r--target/linux/xburst/patches-2.6.32/800-n526-lpc.patch7
-rw-r--r--target/linux/xburst/patches-2.6.32/900-add-openwrt-logo.patch15
26 files changed, 228 insertions, 820 deletions
diff --git a/include/kernel-version.mk b/include/kernel-version.mk
index a082a87b69..4a0798fcf6 100644
--- a/include/kernel-version.mk
+++ b/include/kernel-version.mk
@@ -22,8 +22,8 @@ endif
ifeq ($(LINUX_VERSION),2.6.31.12)
LINUX_KERNEL_MD5SUM:=517be354b81b780e2f4b2ad614d030de
endif
-ifeq ($(LINUX_VERSION),2.6.32.4)
- LINUX_KERNEL_MD5SUM:=471e0fe07e27796f041ecb990302ccc4
+ifeq ($(LINUX_VERSION),2.6.32.6)
+ LINUX_KERNEL_MD5SUM:=5ad2ea7b6aed2d857dd9bb5ae03588e4
endif
# disable the md5sum check for unknown kernel versions
diff --git a/target/linux/generic-2.6/patches-2.6.32/980-vm_exports.patch b/target/linux/generic-2.6/patches-2.6.32/980-vm_exports.patch
index 724b1f030c..f59eac3203 100644
--- a/target/linux/generic-2.6/patches-2.6.32/980-vm_exports.patch
+++ b/target/linux/generic-2.6/patches-2.6.32/980-vm_exports.patch
@@ -68,7 +68,7 @@
* macro override instead of weak attribute alias, to workaround
--- a/kernel/sched.c
+++ b/kernel/sched.c
-@@ -6095,6 +6095,7 @@ int can_nice(const struct task_struct *p
+@@ -6091,6 +6091,7 @@ int can_nice(const struct task_struct *p
return (nice_rlim <= p->signal->rlim[RLIMIT_NICE].rlim_cur ||
capable(CAP_SYS_NICE));
}
@@ -96,7 +96,7 @@
* We enter with non-exclusive mmap_sem (to exclude vma changes,
--- a/mm/vmalloc.c
+++ b/mm/vmalloc.c
-@@ -1113,6 +1113,7 @@ void unmap_kernel_range(unsigned long ad
+@@ -1111,6 +1111,7 @@ void unmap_kernel_range(unsigned long ad
vunmap_page_range(addr, end);
flush_tlb_kernel_range(addr, end);
}
@@ -104,7 +104,7 @@
int map_vm_area(struct vm_struct *area, pgprot_t prot, struct page ***pages)
{
-@@ -1228,6 +1229,7 @@ struct vm_struct *get_vm_area(unsigned l
+@@ -1226,6 +1227,7 @@ struct vm_struct *get_vm_area(unsigned l
return __get_vm_area_node(size, 1, flags, VMALLOC_START, VMALLOC_END,
-1, GFP_KERNEL, __builtin_return_address(0));
}
@@ -124,7 +124,7 @@
#ifndef CONFIG_MMU
--- a/kernel/signal.c
+++ b/kernel/signal.c
-@@ -1069,6 +1069,7 @@ struct sighand_struct *lock_task_sighand
+@@ -1070,6 +1070,7 @@ struct sighand_struct *lock_task_sighand
return sighand;
}
diff --git a/target/linux/omap35xx/Makefile b/target/linux/omap35xx/Makefile
index f12a6f5704..b524b56f72 100644
--- a/target/linux/omap35xx/Makefile
+++ b/target/linux/omap35xx/Makefile
@@ -12,7 +12,7 @@ BOARDNAME:=TI OMAP35xx
FEATURES:=broken
SUBTARGETS=generic
-LINUX_VERSION:=2.6.32.4
+LINUX_VERSION:=2.6.32.6
KERNELNAME:="uImage"
DEVICE_TYPE=developerboard
diff --git a/target/linux/omap35xx/patches-2.6.32/001-DSS2.patch b/target/linux/omap35xx/patches-2.6.32/001-DSS2.patch
index ca760bc603..be32519dd6 100644
--- a/target/linux/omap35xx/patches-2.6.32/001-DSS2.patch
+++ b/target/linux/omap35xx/patches-2.6.32/001-DSS2.patch
@@ -1,6 +1,3 @@
-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 @@
@@ -321,11 +318,9 @@ index 0000000..0af0e9e
+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/
@@ -349,8 +344,6 @@ index 8824115..3f5d39f 100644
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
@@ -390,8 +383,6 @@ index 8a4a7e2..59e26e4 100644
# 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 @@
@@ -410,19 +401,17 @@ index ed2a48a..6fbde33 100644
#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
},
};
@@ -524,11 +513,8 @@ index efaf053..60631be 100644
+ .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",
@@ -536,11 +522,8 @@ index efaf053..60631be 100644
+ .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",
@@ -548,37 +531,44 @@ index efaf053..60631be 100644
+ .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,
};
@@ -588,7 +578,7 @@ index efaf053..60631be 100644
};
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,
@@ -626,7 +616,7 @@ index efaf053..60631be 100644
};
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();
@@ -634,11 +624,9 @@ index efaf053..60631be 100644
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 */
@@ -653,11 +641,9 @@ index e2dbedd..8524067 100644
/* 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),
@@ -678,8 +664,6 @@ index 489556e..0a7e9ac 100644
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 @@
@@ -710,11 +694,9 @@ index e3a3bad..adbb905 100644
}
/*
-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);
}
@@ -734,8 +716,6 @@ index 9e3bd4f..6a5a2c5 100644
+ 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 @@
@@ -788,7 +768,7 @@ index 3746222..70fbeae 100644
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;
}
@@ -805,9 +785,6 @@ index 3746222..70fbeae 100644
+}
#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 @@
@@ -1351,9 +1328,6 @@ index 0000000..4c7422e
+#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 @@
@@ -1755,8 +1729,6 @@ index b226bdf..0000000
-#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 @@
@@ -1771,7 +1743,7 @@ index 1c09c78..3b157ce 100644
/* 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);
@@ -1782,9 +1754,6 @@ index 1c09c78..3b157ce 100644
#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 @@
@@ -1851,9 +1820,6 @@ index 0000000..fe72f81
+#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 @@
@@ -1903,8 +1869,6 @@ index 0000000..8790612
+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 @@
@@ -1929,8 +1893,6 @@ index 75d1f26..aa9fb63 100644
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
@@ -1941,11 +1903,9 @@ index 9bbb285..af0448f 100644
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/
@@ -1953,8 +1913,6 @@ index 80232e1..0f8da33 100644
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 @@
@@ -1975,8 +1933,6 @@ index 551e3e9..455c605 100644
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 @@
@@ -1990,8 +1946,6 @@ index 70dadf9..e0d693e 100644
#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 @@
@@ -2020,7 +1974,7 @@ index f16e421..3f828e6 100644
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)
{
@@ -2044,7 +1998,7 @@ index f16e421..3f828e6 100644
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;
@@ -2065,8 +2019,6 @@ index f16e421..3f828e6 100644
}
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 @@
@@ -2079,8 +2031,6 @@ index ca51583..b84fb7c 100644
#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 @@
@@ -2095,8 +2045,6 @@ index 393712b..7b7690a 100644
#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 @@
@@ -2109,8 +2057,6 @@ index 1f74399..1d3fd13 100644
#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 @@
@@ -2123,8 +2069,6 @@ index 626ae3a..e099ad1 100644
/* #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 @@
@@ -2136,8 +2080,6 @@ index 417ae5e..8df6887 100644
#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 @@
@@ -2149,8 +2091,6 @@ index 0c398bd..03a06a9 100644
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 @@
@@ -2162,8 +2102,6 @@ index cdbd8bb..18f1422 100644
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 @@
@@ -2175,8 +2113,6 @@ index 268f7f8..9fff86f 100644
#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 @@
@@ -2191,8 +2127,6 @@ index dbfe897..44a43ea 100644
#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 @@
@@ -2207,8 +2141,6 @@ index 918ee89..62e1975 100644
#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 @@
@@ -2223,8 +2155,6 @@ index 7a2bbe2..c3be87c 100644
#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 @@
@@ -2239,8 +2169,6 @@ index 4011910..0608a25 100644
#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 @@
@@ -2255,8 +2183,6 @@ index b6a4c2c..c204afb 100644
#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 @@
@@ -2268,8 +2194,6 @@ index b3fa88b..5755b5c 100644
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 @@
@@ -2284,8 +2208,6 @@ index 2bc5c92..63ebb1f 100644
#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 @@
@@ -2297,8 +2219,6 @@ index 4bf3c79..7e11a75 100644
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
@@ -2310,8 +2230,6 @@ index 48ea1f9..ff0e6d7 100644
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 @@
@@ -2323,8 +2241,6 @@ index 0697d29..2334e56 100644
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 @@
@@ -2340,9 +2256,6 @@ index ab39492..520ed97 100644
#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 @@
@@ -2573,8 +2486,6 @@ index 0000000..46e4714
+ 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 @@
@@ -2587,8 +2498,6 @@ index 0d0c8c8..a27614d 100644
#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 @@
@@ -2601,8 +2510,6 @@ index ee01e84..fed7b1b 100644
#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 @@
@@ -2615,9 +2522,6 @@ index a769462..6853627 100644
#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 @@
@@ -2630,9 +2534,6 @@ index 0000000..d877c36
+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 @@
@@ -2642,9 +2543,6 @@ index 0000000..d853d05
+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 @@
@@ -2676,9 +2574,6 @@ index 0000000..79d2861
+ 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 @@
@@ -2687,9 +2582,6 @@ index 0000000..d44e765
+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 @@
@@ -2797,9 +2689,6 @@ index 0000000..738147e
+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 @@
@@ -2916,9 +2805,6 @@ index 0000000..eafe581
+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 @@
@@ -3075,9 +2961,6 @@ index 0000000..2f8f0df
+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 @@
@@ -3981,9 +3864,6 @@ index 0000000..84f0d47
+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 @@
@@ -4076,9 +3956,6 @@ index 0000000..71d8dec
+ 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 @@
@@ -4088,9 +3965,6 @@ index 0000000..980c72c
+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 @@
@@ -5011,9 +4885,6 @@ index 0000000..e8d430c
+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 @@
@@ -8199,9 +8070,6 @@ index 0000000..d648475
+
+ 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 @@
@@ -8863,9 +8731,6 @@ index 0000000..6b5d0cf
+}
+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 @@
@@ -9257,9 +9122,6 @@ index 0000000..b6543c8
+{
+}
+
-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 @@
@@ -12772,9 +12634,6 @@ index 0000000..d43b9ce
+ 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 @@
@@ -13125,9 +12984,6 @@ index 0000000..aab9758
+ 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 @@
@@ -13487,9 +13343,6 @@ index 0000000..50f7f5f
+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 @@
@@ -14980,9 +14833,6 @@ index 0000000..7ee0b2b
+}
+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 @@
@@ -15659,9 +15509,6 @@ index 0000000..c7cb81b
+ 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 @@
@@ -16975,9 +16822,6 @@ index 0000000..9dd2349
+
+ 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 @@
@@ -17242,9 +17086,6 @@ index 0000000..a9c727e
+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 @@
@@ -18045,9 +17886,6 @@ index 0000000..cf7827e
+
+#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 @@
@@ -18088,17 +17926,11 @@ index 0000000..bb694cc
+ 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 @@
@@ -18829,9 +18661,6 @@ index 0000000..70fb64e
+}
+
+
-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 @@
@@ -20972,9 +20801,6 @@ index 0000000..7f5ec3b
+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 @@
@@ -21485,9 +21311,6 @@ index 0000000..ef30e0e
+ }
+}
+
-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 @@
@@ -21637,9 +21460,6 @@ index 0000000..d9ee986
+}
+
+#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 @@
@@ -22298,9 +22118,6 @@ index 0000000..634ce23
+ 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 @@
@@ -22581,9 +22398,6 @@ index 0000000..8726689
+}
+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/target/linux/omap35xx/patches-2.6.32/002-OMAP.patch b/target/linux/omap35xx/patches-2.6.32/002-OMAP.patch
index 925d7a869a..e2c9056d78 100644
--- a/target/linux/omap35xx/patches-2.6.32/002-OMAP.patch
+++ b/target/linux/omap35xx/patches-2.6.32/002-OMAP.patch
@@ -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 */
diff --git a/target/linux/omap35xx/patches-2.6.32/003-enable_dss2_beagleboard.patch b/target/linux/omap35xx/patches-2.6.32/003-enable_dss2_beagleboard.patch
index 6ef4cbffdf..fb89a90ab0 100644
--- a/target/linux/omap35xx/patches-2.6.32/003-enable_dss2_beagleboard.patch
+++ b/target/linux/omap35xx/patches-2.6.32/003-enable_dss2_beagleboard.patch
@@ -1,5 +1,5 @@
---- a/arch/arm/mach-omap2/board-omap3beagle.c 2009-11-27 02:38:04.000000000 +0100
-+++ b/arch/arm/mach-omap2/board-omap3beagle.c 2009-11-27 00:36:10.511677848 +0100
+--- a/arch/arm/mach-omap2/board-omap3beagle.c
++++ b/arch/arm/mach-omap2/board-omap3beagle.c
@@ -23,6 +23,7 @@
#include <linux/gpio.h>
#include <linux/input.h>
diff --git a/target/linux/omap35xx/patches-2.6.32/004-compile_fix_dispc.patch b/target/linux/omap35xx/patches-2.6.32/004-compile_fix_dispc.patch
index 7b8554dd5e..ab76ee2cb9 100644
--- a/target/linux/omap35xx/patches-2.6.32/004-compile_fix_dispc.patch
+++ b/target/linux/omap35xx/patches-2.6.32/004-compile_fix_dispc.patch
@@ -1,5 +1,5 @@
---- a/drivers/video/omap2/dss/dispc.c 2009-11-29 18:41:44.396505079 +0100
-+++ b/drivers/video/omap2/dss/dispc.c 2009-11-09 00:19:03.466830538 +0100
+--- a/drivers/video/omap2/dss/dispc.c
++++ b/drivers/video/omap2/dss/dispc.c
@@ -3077,8 +3077,8 @@ static void _omap_dispc_initial_config(v
REG_FLD_MOD(DISPC_CONFIG, 1, 9, 9);
diff --git a/target/linux/xburst/Makefile b/target/linux/xburst/Makefile
index 571cc296ee..67de2cc6d9 100644
--- a/target/linux/xburst/Makefile
+++ b/target/linux/xburst/Makefile
@@ -11,7 +11,7 @@ BOARD:=xburst
BOARDNAME:=XBurst JZ47x0
FEATURES:=jffs2 tgz ubifs
-LINUX_VERSION:=2.6.32.4
+LINUX_VERSION:=2.6.32.6
DEVICE_TYPE=other
diff --git a/target/linux/xburst/patches-2.6.32/001-core.patch b/target/linux/xburst/patches-2.6.32/001-core.patch
index 95e5e40116..2c354cda67 100644
--- a/target/linux/xburst/patches-2.6.32/001-core.patch
+++ b/target/linux/xburst/patches-2.6.32/001-core.patch
@@ -18,8 +18,6 @@ Subject: [PATCH] /opt/Projects/openwrt/target/linux/xburst/patches-2.6.31/001-co
arch/mips/mm/tlbex.c | 5 +
12 files changed, 379 insertions(+), 4 deletions(-)
-diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
-index fd7620f..9b40aa8 100644
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
@@ -174,6 +174,9 @@ config MACH_JAZZ
@@ -40,7 +38,7 @@ index fd7620f..9b40aa8 100644
source "arch/mips/lasat/Kconfig"
source "arch/mips/pmc-sierra/Kconfig"
source "arch/mips/sgi-ip27/Kconfig"
-@@ -1895,6 +1899,14 @@ config NR_CPUS
+@@ -1913,6 +1917,14 @@ config NR_CPUS
source "kernel/time/Kconfig"
@@ -55,11 +53,9 @@ index fd7620f..9b40aa8 100644
#
# Timer Interrupt Frequency Configuration
#
-diff --git a/arch/mips/Makefile b/arch/mips/Makefile
-index 77f5021..1b22297 100644
--- a/arch/mips/Makefile
+++ b/arch/mips/Makefile
-@@ -184,6 +184,14 @@ cflags-$(CONFIG_AR7) += -I$(srctree)/arch/mips/include/asm/mach-ar7
+@@ -184,6 +184,14 @@ cflags-$(CONFIG_AR7) += -I$(srctree)/ar
load-$(CONFIG_AR7) += 0xffffffff94100000
#
@@ -74,7 +70,7 @@ index 77f5021..1b22297 100644
# Acer PICA 61, Mips Magnum 4000 and Olivetti M700.
#
core-$(CONFIG_MACH_JAZZ) += arch/mips/jazz/
-@@ -702,6 +710,12 @@ makeboot =$(Q)$(MAKE) $(build)=arch/mips/boot VMLINUX=$(vmlinux-32) $(1)
+@@ -705,6 +713,12 @@ makeboot =$(Q)$(MAKE) $(build)=arch/mips
all: $(all-y)
@@ -87,7 +83,7 @@ index 77f5021..1b22297 100644
vmlinux.bin: $(vmlinux-32)
+@$(call makeboot,$@)
-@@ -731,6 +745,7 @@ install:
+@@ -734,6 +748,7 @@ install:
archclean:
@$(MAKE) $(clean)=arch/mips/boot
@@ -95,7 +91,7 @@ index 77f5021..1b22297 100644
@$(MAKE) $(clean)=arch/mips/lasat
define archhelp
-@@ -738,6 +753,9 @@ define archhelp
+@@ -741,6 +756,9 @@ define archhelp
echo ' vmlinux.ecoff - ECOFF boot image'
echo ' vmlinux.bin - Raw binary boot image'
echo ' vmlinux.srec - SREC boot image'
@@ -105,8 +101,6 @@ index 77f5021..1b22297 100644
echo
echo ' These will be default as apropriate for a configured platform.'
endef
-diff --git a/arch/mips/boot/Makefile b/arch/mips/boot/Makefile
-index 2a209d7..1cfce3e 100644
--- a/arch/mips/boot/Makefile
+++ b/arch/mips/boot/Makefile
@@ -7,6 +7,9 @@
@@ -119,7 +113,7 @@ index 2a209d7..1cfce3e 100644
#
# Some DECstations need all possible sections of an ECOFF executable
#
-@@ -25,7 +28,7 @@ strip-flags = $(addprefix --remove-section=,$(drop-sections))
+@@ -25,7 +28,7 @@ strip-flags = $(addprefix --remove-secti
VMLINUX = vmlinux
@@ -154,8 +148,6 @@ index 2a209d7..1cfce3e 100644
+ vmlinux.bin.gz \
+ uImage \
+ zImage
-diff --git a/arch/mips/include/asm/bootinfo.h b/arch/mips/include/asm/bootinfo.h
-index f5dfaf6..584376f 100644
--- a/arch/mips/include/asm/bootinfo.h
+++ b/arch/mips/include/asm/bootinfo.h
@@ -69,6 +69,12 @@
@@ -171,8 +163,6 @@ index f5dfaf6..584376f 100644
#define CL_SIZE COMMAND_LINE_SIZE
extern char *system_type;
-diff --git a/arch/mips/include/asm/cpu.h b/arch/mips/include/asm/cpu.h
-index 4b96d1a..478a527 100644
--- a/arch/mips/include/asm/cpu.h
+++ b/arch/mips/include/asm/cpu.h
@@ -34,7 +34,7 @@
@@ -209,8 +199,6 @@ index 4b96d1a..478a527 100644
CPU_LAST
};
-diff --git a/arch/mips/include/asm/mach-generic/irq.h b/arch/mips/include/asm/mach-generic/irq.h
-index 70d9a25..73b7a83 100644
--- a/arch/mips/include/asm/mach-generic/irq.h
+++ b/arch/mips/include/asm/mach-generic/irq.h
@@ -9,7 +9,7 @@
@@ -222,8 +210,6 @@ index 70d9a25..73b7a83 100644
#endif
#ifdef CONFIG_I8259
-diff --git a/arch/mips/include/asm/r4kcache.h b/arch/mips/include/asm/r4kcache.h
-index 387bf59..b500056 100644
--- a/arch/mips/include/asm/r4kcache.h
+++ b/arch/mips/include/asm/r4kcache.h
@@ -17,6 +17,58 @@
@@ -285,7 +271,7 @@ index 387bf59..b500056 100644
/*
* This macro return a properly sign-extended address suitable as base address
* for indexed cache operations. Two issues here:
-@@ -144,6 +196,7 @@ static inline void flush_icache_line_indexed(unsigned long addr)
+@@ -144,6 +196,7 @@ static inline void flush_icache_line_ind
{
__iflush_prologue
cache_op(Index_Invalidate_I, addr);
@@ -293,7 +279,7 @@ index 387bf59..b500056 100644
__iflush_epilogue
}
-@@ -151,6 +204,7 @@ static inline void flush_dcache_line_indexed(unsigned long addr)
+@@ -151,6 +204,7 @@ static inline void flush_dcache_line_ind
{
__dflush_prologue
cache_op(Index_Writeback_Inv_D, addr);
@@ -301,7 +287,7 @@ index 387bf59..b500056 100644
__dflush_epilogue
}
-@@ -163,6 +217,7 @@ static inline void flush_icache_line(unsigned long addr)
+@@ -163,6 +217,7 @@ static inline void flush_icache_line(uns
{
__iflush_prologue
cache_op(Hit_Invalidate_I, addr);
@@ -309,7 +295,7 @@ index 387bf59..b500056 100644
__iflush_epilogue
}
-@@ -170,6 +225,7 @@ static inline void flush_dcache_line(unsigned long addr)
+@@ -170,6 +225,7 @@ static inline void flush_dcache_line(uns
{
__dflush_prologue
cache_op(Hit_Writeback_Inv_D, addr);
@@ -317,7 +303,7 @@ index 387bf59..b500056 100644
__dflush_epilogue
}
-@@ -177,6 +233,7 @@ static inline void invalidate_dcache_line(unsigned long addr)
+@@ -177,6 +233,7 @@ static inline void invalidate_dcache_lin
{
__dflush_prologue
cache_op(Hit_Invalidate_D, addr);
@@ -325,7 +311,7 @@ index 387bf59..b500056 100644
__dflush_epilogue
}
-@@ -209,6 +266,7 @@ static inline void flush_scache_line(unsigned long addr)
+@@ -209,6 +266,7 @@ static inline void flush_scache_line(uns
static inline void protected_flush_icache_line(unsigned long addr)
{
protected_cache_op(Hit_Invalidate_I, addr);
@@ -333,7 +319,7 @@ index 387bf59..b500056 100644
}
/*
-@@ -220,6 +278,7 @@ static inline void protected_flush_icache_line(unsigned long addr)
+@@ -220,6 +278,7 @@ static inline void protected_flush_icach
static inline void protected_writeback_dcache_line(unsigned long addr)
{
protected_cache_op(Hit_Writeback_Inv_D, addr);
@@ -341,7 +327,7 @@ index 387bf59..b500056 100644
}
static inline void protected_writeback_scache_line(unsigned long addr)
-@@ -396,8 +455,10 @@ static inline void blast_##pfx##cache##lsize##_page_indexed(unsigned long page)
+@@ -396,8 +455,10 @@ static inline void blast_##pfx##cache##l
__BUILD_BLAST_CACHE(d, dcache, Index_Writeback_Inv_D, Hit_Writeback_Inv_D, 16)
__BUILD_BLAST_CACHE(i, icache, Index_Invalidate_I, Hit_Invalidate_I, 16)
__BUILD_BLAST_CACHE(s, scache, Index_Writeback_Inv_SD, Hit_Writeback_Inv_SD, 16)
@@ -352,7 +338,7 @@ index 387bf59..b500056 100644
__BUILD_BLAST_CACHE(s, scache, Index_Writeback_Inv_SD, Hit_Writeback_Inv_SD, 32)
__BUILD_BLAST_CACHE(d, dcache, Index_Writeback_Inv_D, Hit_Writeback_Inv_D, 64)
__BUILD_BLAST_CACHE(i, icache, Index_Invalidate_I, Hit_Invalidate_I, 64)
-@@ -405,12 +466,122 @@ __BUILD_BLAST_CACHE(s, scache, Index_Writeback_Inv_SD, Hit_Writeback_Inv_SD, 64)
+@@ -405,12 +466,122 @@ __BUILD_BLAST_CACHE(s, scache, Index_Wri
__BUILD_BLAST_CACHE(s, scache, Index_Writeback_Inv_SD, Hit_Writeback_Inv_SD, 128)
__BUILD_BLAST_CACHE(inv_d, dcache, Index_Writeback_Inv_D, Hit_Invalidate_D, 16)
@@ -475,7 +461,7 @@ index 387bf59..b500056 100644
/* build blast_xxx_range, protected_blast_xxx_range */
#define __BUILD_BLAST_CACHE_RANGE(pfx, desc, hitop, prot) \
static inline void prot##blast_##pfx##cache##_range(unsigned long start, \
-@@ -432,13 +603,73 @@ static inline void prot##blast_##pfx##cache##_range(unsigned long start, \
+@@ -432,13 +603,73 @@ static inline void prot##blast_##pfx##ca
__##pfx##flush_epilogue \
}
@@ -549,8 +535,6 @@ index 387bf59..b500056 100644
+#endif /* CONFIG_JZRISC */
+
#endif /* _ASM_R4KCACHE_H */
-diff --git a/arch/mips/include/asm/suspend.h b/arch/mips/include/asm/suspend.h
-index 294cdb6..94dc597 100644
--- a/arch/mips/include/asm/suspend.h
+++ b/arch/mips/include/asm/suspend.h
@@ -2,6 +2,9 @@
@@ -563,8 +547,6 @@ index 294cdb6..94dc597 100644
/* References to section boundaries */
extern const void __nosave_begin, __nosave_end;
-diff --git a/arch/mips/kernel/cpu-probe.c b/arch/mips/kernel/cpu-probe.c
-index 7a51866..fd12b0c 100644
--- a/arch/mips/kernel/cpu-probe.c
+++ b/arch/mips/kernel/cpu-probe.c
@@ -160,6 +160,7 @@ void __init check_wait(void)
@@ -575,7 +557,7 @@ index 7a51866..fd12b0c 100644
cpu_wait = r4k_wait;
break;
-@@ -902,6 +903,23 @@ static inline void cpu_probe_cavium(struct cpuinfo_mips *c, unsigned int cpu)
+@@ -902,6 +903,23 @@ static inline void cpu_probe_cavium(stru
}
}
@@ -609,8 +591,6 @@ index 7a51866..fd12b0c 100644
}
BUG_ON(!__cpu_name[cpu]);
-diff --git a/arch/mips/mm/c-r4k.c b/arch/mips/mm/c-r4k.c
-index 6721ee2..dd4b70b 100644
--- a/arch/mips/mm/c-r4k.c
+++ b/arch/mips/mm/c-r4k.c
@@ -928,6 +928,36 @@ static void __cpuinit probe_pcache(void)
@@ -650,11 +630,9 @@ index 6721ee2..dd4b70b 100644
default:
if (!(config & MIPS_CONF_M))
panic("Don't know how to probe P-caches on this cpu.");
-diff --git a/arch/mips/mm/cache.c b/arch/mips/mm/cache.c
-index 694d51f..4b2bc95 100644
--- a/arch/mips/mm/cache.c
+++ b/arch/mips/mm/cache.c
-@@ -52,6 +52,8 @@ void (*_dma_cache_wback)(unsigned long start, unsigned long size);
+@@ -52,6 +52,8 @@ void (*_dma_cache_wback)(unsigned long s
void (*_dma_cache_inv)(unsigned long start, unsigned long size);
EXPORT_SYMBOL(_dma_cache_wback_inv);
@@ -663,11 +641,9 @@ index 694d51f..4b2bc95 100644
#endif /* CONFIG_DMA_NONCOHERENT */
-diff --git a/arch/mips/mm/tlbex.c b/arch/mips/mm/tlbex.c
-index bb1719a..13c128d 100644
--- a/arch/mips/mm/tlbex.c
+++ b/arch/mips/mm/tlbex.c
-@@ -389,6 +389,11 @@ static void __cpuinit build_tlb_write_entry(u32 **p, struct uasm_label **l,
+@@ -389,6 +389,11 @@ static void __cpuinit build_tlb_write_en
tlbw(p);
break;
@@ -679,6 +655,3 @@ index bb1719a..13c128d 100644
default:
panic("No TLB refill handler yet (CPU type: %d)",
current_cpu_data.cputype);
---
-1.5.6.5
-
diff --git a/target/linux/xburst/patches-2.6.32/050-nand.patch b/target/linux/xburst/patches-2.6.32/050-nand.patch
index af53c322d9..e803a218b5 100644
--- a/target/linux/xburst/patches-2.6.32/050-nand.patch
+++ b/target/linux/xburst/patches-2.6.32/050-nand.patch
@@ -9,8 +9,6 @@ Subject: [PATCH] /opt/Projects/openwrt/target/linux/xburst/patches-2.6.31/050-na
drivers/mtd/nand/nand_base.c | 19 +++++++------------
3 files changed, 14 insertions(+), 12 deletions(-)
-diff --git a/drivers/mtd/nand/Kconfig b/drivers/mtd/nand/Kconfig
-index 2fda0b6..8b28828 100644
--- a/drivers/mtd/nand/Kconfig
+++ b/drivers/mtd/nand/Kconfig
@@ -482,4 +482,10 @@ config MTD_NAND_W90P910
@@ -24,22 +22,18 @@ index 2fda0b6..8b28828 100644
+ Support NAND Flash device on Jz4740 board
+
endif # MTD_NAND
-diff --git a/drivers/mtd/nand/Makefile b/drivers/mtd/nand/Makefile
-index 6950d3d..1661534 100644
--- a/drivers/mtd/nand/Makefile
+++ b/drivers/mtd/nand/Makefile
-@@ -42,5 +42,6 @@ obj-$(CONFIG_MTD_NAND_SOCRATES) += socrates_nand.o
+@@ -42,5 +42,6 @@ obj-$(CONFIG_MTD_NAND_SOCRATES) += socr
obj-$(CONFIG_MTD_NAND_TXX9NDFMC) += txx9ndfmc.o
obj-$(CONFIG_MTD_NAND_W90P910) += w90p910_nand.o
obj-$(CONFIG_MTD_NAND_NOMADIK) += nomadik_nand.o
+obj-$(CONFIG_MTD_NAND_JZ4740) += jz4740_nand.o
nand-objs := nand_base.o nand_bbt.o
-diff --git a/drivers/mtd/nand/nand_base.c b/drivers/mtd/nand/nand_base.c
-index 2957cc7..33ed710 100644
--- a/drivers/mtd/nand/nand_base.c
+++ b/drivers/mtd/nand/nand_base.c
-@@ -956,29 +956,22 @@ static int nand_read_page_hwecc(struct mtd_info *mtd, struct nand_chip *chip,
+@@ -956,29 +956,22 @@ static int nand_read_page_hwecc(struct m
uint8_t *ecc_calc = chip->buffers->ecccalc;
uint8_t *ecc_code = chip->buffers->ecccode;
uint32_t *eccpos = chip->ecc.layout->eccpos;
@@ -74,7 +68,7 @@ index 2957cc7..33ed710 100644
return 0;
}
-@@ -1178,6 +1171,8 @@ static int nand_do_read_ops(struct mtd_info *mtd, loff_t from,
+@@ -1178,6 +1171,8 @@ static int nand_do_read_ops(struct mtd_i
bufpoi = aligned ? buf : chip->buffers->databuf;
if (likely(sndcmd)) {
@@ -83,6 +77,3 @@ index 2957cc7..33ed710 100644
chip->cmdfunc(mtd, NAND_CMD_READ0, 0x00, page);
sndcmd = 0;
}
---
-1.5.6.5
-
diff --git a/target/linux/xburst/patches-2.6.32/051-fb.patch b/target/linux/xburst/patches-2.6.32/051-fb.patch
index 03565748db..5c802da6d0 100644
--- a/target/linux/xburst/patches-2.6.32/051-fb.patch
+++ b/target/linux/xburst/patches-2.6.32/051-fb.patch
@@ -8,8 +8,6 @@ Subject: [PATCH] /opt/Projects/openwrt/target/linux/xburst/patches-2.6.31/051-fb
drivers/video/Makefile | 1 +
2 files changed, 10 insertions(+), 0 deletions(-)
-diff --git a/drivers/video/Kconfig b/drivers/video/Kconfig
-index 188e1ba..c8ec6ad 100644
--- a/drivers/video/Kconfig
+++ b/drivers/video/Kconfig
@@ -2160,6 +2160,15 @@ config FB_BROADSHEET
@@ -28,11 +26,9 @@ index 188e1ba..c8ec6ad 100644
source "drivers/video/omap/Kconfig"
source "drivers/video/backlight/Kconfig"
-diff --git a/drivers/video/Makefile b/drivers/video/Makefile
-index 80232e1..b3ce701 100644
--- a/drivers/video/Makefile
+++ b/drivers/video/Makefile
-@@ -128,6 +128,7 @@ obj-$(CONFIG_XEN_FBDEV_FRONTEND) += xen-fbfront.o
+@@ -128,6 +128,7 @@ obj-$(CONFIG_XEN_FBDEV_FRONTEND) += xen
obj-$(CONFIG_FB_CARMINE) += carminefb.o
obj-$(CONFIG_FB_MB862XX) += mb862xx/
obj-$(CONFIG_FB_MSM) += msm/
@@ -40,6 +36,3 @@ index 80232e1..b3ce701 100644
# Platform or fallback drivers go here
obj-$(CONFIG_FB_UVESA) += uvesafb.o
---
-1.5.6.5
-
diff --git a/target/linux/xburst/patches-2.6.32/052-rtc.patch b/target/linux/xburst/patches-2.6.32/052-rtc.patch
index 816028ba0d..5c9a434434 100644
--- a/target/linux/xburst/patches-2.6.32/052-rtc.patch
+++ b/target/linux/xburst/patches-2.6.32/052-rtc.patch
@@ -8,8 +8,6 @@ Subject: [PATCH] /opt/Projects/openwrt/target/linux/xburst/patches-2.6.31/052-rt
drivers/rtc/Makefile | 1 +
2 files changed, 12 insertions(+), 0 deletions(-)
-diff --git a/drivers/rtc/Kconfig b/drivers/rtc/Kconfig
-index 3c20dae..930bc4a 100644
--- a/drivers/rtc/Kconfig
+++ b/drivers/rtc/Kconfig
@@ -469,6 +469,17 @@ config RTC_DRV_EFI
@@ -30,11 +28,9 @@ index 3c20dae..930bc4a 100644
config RTC_DRV_STK17TA8
tristate "Simtek STK17TA8"
depends on RTC_CLASS
-diff --git a/drivers/rtc/Makefile b/drivers/rtc/Makefile
-index aa3fbd5..2153d90 100644
--- a/drivers/rtc/Makefile
+++ b/drivers/rtc/Makefile
-@@ -44,6 +44,7 @@ obj-$(CONFIG_RTC_DRV_EP93XX) += rtc-ep93xx.o
+@@ -44,6 +44,7 @@ obj-$(CONFIG_RTC_DRV_EP93XX) += rtc-ep93
obj-$(CONFIG_RTC_DRV_FM3130) += rtc-fm3130.o
obj-$(CONFIG_RTC_DRV_GENERIC) += rtc-generic.o
obj-$(CONFIG_RTC_DRV_ISL1208) += rtc-isl1208.o
@@ -42,6 +38,3 @@ index aa3fbd5..2153d90 100644
obj-$(CONFIG_RTC_DRV_M41T80) += rtc-m41t80.o
obj-$(CONFIG_RTC_DRV_M41T94) += rtc-m41t94.o
obj-$(CONFIG_RTC_DRV_M48T35) += rtc-m48t35.o
---
-1.5.6.5
-
diff --git a/target/linux/xburst/patches-2.6.32/053-adc.patch b/target/linux/xburst/patches-2.6.32/053-adc.patch
index 348d96fb2e..786d2ffd15 100644
--- a/target/linux/xburst/patches-2.6.32/053-adc.patch
+++ b/target/linux/xburst/patches-2.6.32/053-adc.patch
@@ -8,8 +8,6 @@ Subject: [PATCH] /opt/Projects/openwrt/target/linux/xburst/patches-2.6.31/053-ad
drivers/misc/Makefile | 1 +
2 files changed, 12 insertions(+), 0 deletions(-)
-diff --git a/drivers/misc/Kconfig b/drivers/misc/Kconfig
-index df1f86b..d79902a 100644
--- a/drivers/misc/Kconfig
+++ b/drivers/misc/Kconfig
@@ -246,6 +246,17 @@ config EP93XX_PWM
@@ -30,8 +28,6 @@ index df1f86b..d79902a 100644
source "drivers/misc/c2port/Kconfig"
source "drivers/misc/eeprom/Kconfig"
source "drivers/misc/cb710/Kconfig"
-diff --git a/drivers/misc/Makefile b/drivers/misc/Makefile
-index f982d2e..49b6e76 100644
--- a/drivers/misc/Makefile
+++ b/drivers/misc/Makefile
@@ -21,5 +21,6 @@ obj-$(CONFIG_HP_ILO) += hpilo.o
@@ -41,6 +37,3 @@ index f982d2e..49b6e76 100644
+obj-$(CONFIG_JZ4740_ADC) += jz4740-adc.o
obj-y += eeprom/
obj-y += cb710/
---
-1.5.6.5
-
diff --git a/target/linux/xburst/patches-2.6.32/100-battery.patch b/target/linux/xburst/patches-2.6.32/100-battery.patch
index 5885839261..105afc22eb 100644
--- a/target/linux/xburst/patches-2.6.32/100-battery.patch
+++ b/target/linux/xburst/patches-2.6.32/100-battery.patch
@@ -8,8 +8,6 @@ Subject: [PATCH] /opt/Projects/openwrt/target/linux/xburst/patches-2.6.31/100-ba
drivers/power/Makefile | 1 +
2 files changed, 12 insertions(+), 0 deletions(-)
-diff --git a/drivers/power/Kconfig b/drivers/power/Kconfig
-index cea6cef..f10934e 100644
--- a/drivers/power/Kconfig
+++ b/drivers/power/Kconfig
@@ -110,4 +110,15 @@ config CHARGER_PCF50633
@@ -28,15 +26,10 @@ index cea6cef..f10934e 100644
+ called jz4740-battery.
+
endif # POWER_SUPPLY
-diff --git a/drivers/power/Makefile b/drivers/power/Makefile
-index b96f29d..664d589 100644
--- a/drivers/power/Makefile
+++ b/drivers/power/Makefile
-@@ -29,3 +29,4 @@ obj-$(CONFIG_BATTERY_BQ27x00) += bq27x00_battery.o
+@@ -29,3 +29,4 @@ obj-$(CONFIG_BATTERY_BQ27x00) += bq27x00
obj-$(CONFIG_BATTERY_DA9030) += da9030_battery.o
obj-$(CONFIG_BATTERY_MAX17040) += max17040_battery.o
obj-$(CONFIG_CHARGER_PCF50633) += pcf50633-charger.o
+obj-$(CONFIG_BATTERY_JZ4740) += jz4740-battery.o
---
-1.5.6.5
-
diff --git a/target/linux/xburst/patches-2.6.32/101-mmc.patch b/target/linux/xburst/patches-2.6.32/101-mmc.patch
index 2a7f2fea85..edac9df494 100644
--- a/target/linux/xburst/patches-2.6.32/101-mmc.patch
+++ b/target/linux/xburst/patches-2.6.32/101-mmc.patch
@@ -8,8 +8,6 @@ Subject: [PATCH] /opt/Projects/openwrt/target/linux/xburst/patches-2.6.31/101-mm
drivers/mmc/host/Makefile | 1 +
2 files changed, 10 insertions(+), 0 deletions(-)
-diff --git a/drivers/mmc/host/Kconfig b/drivers/mmc/host/Kconfig
-index 432ae83..16e0cb9 100644
--- a/drivers/mmc/host/Kconfig
+++ b/drivers/mmc/host/Kconfig
@@ -66,6 +66,15 @@ config MMC_RICOH_MMC
@@ -28,8 +26,6 @@ index 432ae83..16e0cb9 100644
To compile this driver as a module, choose M here:
the module will be called ricoh_mmc.
-diff --git a/drivers/mmc/host/Makefile b/drivers/mmc/host/Makefile
-index abcb040..b5cbeb5 100644
--- a/drivers/mmc/host/Makefile
+++ b/drivers/mmc/host/Makefile
@@ -6,6 +6,7 @@ ifeq ($(CONFIG_MMC_DEBUG),y)
@@ -40,6 +36,3 @@ index abcb040..b5cbeb5 100644
obj-$(CONFIG_MMC_ARMMMCI) += mmci.o
obj-$(CONFIG_MMC_PXA) += pxamci.o
obj-$(CONFIG_MMC_IMX) += imxmmc.o
---
-1.5.6.5
-
diff --git a/target/linux/xburst/patches-2.6.32/103-lcm.patch b/target/linux/xburst/patches-2.6.32/103-lcm.patch
index e7aa59d9bb..b1f71ba2dd 100644
--- a/target/linux/xburst/patches-2.6.32/103-lcm.patch
+++ b/target/linux/xburst/patches-2.6.32/103-lcm.patch
@@ -8,8 +8,6 @@ Subject: [PATCH] /opt/Projects/openwrt/target/linux/xburst/patches-2.6.31/103-lc
drivers/video/backlight/Makefile | 1 +
2 files changed, 8 insertions(+), 0 deletions(-)
-diff --git a/drivers/video/backlight/Kconfig b/drivers/video/backlight/Kconfig
-index 09bfa96..aaca1eb 100644
--- a/drivers/video/backlight/Kconfig
+++ b/drivers/video/backlight/Kconfig
@@ -100,6 +100,13 @@ config LCD_HP700
@@ -26,11 +24,9 @@ index 09bfa96..aaca1eb 100644
#
# Backlight
#
-diff --git a/drivers/video/backlight/Makefile b/drivers/video/backlight/Makefile
-index 9a40554..ef29baa 100644
--- a/drivers/video/backlight/Makefile
+++ b/drivers/video/backlight/Makefile
-@@ -10,6 +10,7 @@ obj-$(CONFIG_LCD_PLATFORM) += platform_lcd.o
+@@ -10,6 +10,7 @@ obj-$(CONFIG_LCD_PLATFORM) += platfor
obj-$(CONFIG_LCD_VGG2432A4) += vgg2432a4.o
obj-$(CONFIG_LCD_TDO24M) += tdo24m.o
obj-$(CONFIG_LCD_TOSA) += tosa_lcd.o
@@ -38,6 +34,3 @@ index 9a40554..ef29baa 100644
obj-$(CONFIG_BACKLIGHT_CLASS_DEVICE) += backlight.o
obj-$(CONFIG_BACKLIGHT_ATMEL_PWM) += atmel-pwm-bl.o
---
-1.5.6.5
-
diff --git a/target/linux/xburst/patches-2.6.32/103-serial.patch b/target/linux/xburst/patches-2.6.32/103-serial.patch
index 13292d0cd2..2401248a12 100644
--- a/target/linux/xburst/patches-2.6.32/103-serial.patch
+++ b/target/linux/xburst/patches-2.6.32/103-serial.patch
@@ -7,11 +7,9 @@ Subject: [PATCH] /opt/Projects/openwrt/target/linux/xburst/patches-2.6.31/103-se
drivers/serial/8250.c | 104 ++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 103 insertions(+), 1 deletions(-)
-diff --git a/drivers/serial/8250.c b/drivers/serial/8250.c
-index 737b4c9..65ee974 100644
--- a/drivers/serial/8250.c
+++ b/drivers/serial/8250.c
-@@ -196,7 +196,7 @@ static const struct serial8250_config uart_config[] = {
+@@ -196,7 +196,7 @@ static const struct serial8250_config ua
[PORT_16550A] = {
.name = "16550A",
.fifo_size = 16,
@@ -20,7 +18,7 @@ index 737b4c9..65ee974 100644
.fcr = UART_FCR_ENABLE_FIFO | UART_FCR_R_TRIG_10,
.flags = UART_CAP_FIFO,
},
-@@ -403,6 +403,10 @@ static unsigned int mem_serial_in(struct uart_port *p, int offset)
+@@ -403,6 +403,10 @@ static unsigned int mem_serial_in(struct
static void mem_serial_out(struct uart_port *p, int offset, int value)
{
offset = map_8250_out_reg(p, offset) << p->regshift;
@@ -31,7 +29,7 @@ index 737b4c9..65ee974 100644
writeb(value, p->membase + offset);
}
-@@ -2215,6 +2219,83 @@ static void serial8250_shutdown(struct uart_port *port)
+@@ -2213,6 +2217,83 @@ static void serial8250_shutdown(struct u
serial_unlink_irq_chain(up);
}
@@ -115,7 +113,7 @@ index 737b4c9..65ee974 100644
static unsigned int serial8250_get_divisor(struct uart_port *port, unsigned int baud)
{
unsigned int quot;
-@@ -2234,6 +2315,7 @@ static unsigned int serial8250_get_divisor(struct uart_port *port, unsigned int
+@@ -2232,6 +2313,7 @@ static unsigned int serial8250_get_divis
return quot;
}
@@ -123,7 +121,7 @@ index 737b4c9..65ee974 100644
static void
serial8250_set_termios(struct uart_port *port, struct ktermios *termios,
-@@ -2243,6 +2325,9 @@ serial8250_set_termios(struct uart_port *port, struct ktermios *termios,
+@@ -2241,6 +2323,9 @@ serial8250_set_termios(struct uart_port
unsigned char cval, fcr = 0;
unsigned long flags;
unsigned int baud, quot;
@@ -133,7 +131,7 @@ index 737b4c9..65ee974 100644
switch (termios->c_cflag & CSIZE) {
case CS5:
-@@ -2277,7 +2362,12 @@ serial8250_set_termios(struct uart_port *port, struct ktermios *termios,
+@@ -2275,7 +2360,12 @@ serial8250_set_termios(struct uart_port
baud = uart_get_baud_rate(port, termios, old,
port->uartclk / 16 / 0xffff,
port->uartclk / 16);
@@ -146,7 +144,7 @@ index 737b4c9..65ee974 100644
/*
* Oxford Semi 952 rev B workaround
-@@ -2355,6 +2445,10 @@ serial8250_set_termios(struct uart_port *port, struct ktermios *termios,
+@@ -2353,6 +2443,10 @@ serial8250_set_termios(struct uart_port
if (up->capabilities & UART_CAP_UUE)
up->ier |= UART_IER_UUE | UART_IER_RTOIE;
@@ -157,7 +155,7 @@ index 737b4c9..65ee974 100644
serial_out(up, UART_IER, up->ier);
if (up->capabilities & UART_CAP_EFR) {
-@@ -2389,7 +2483,15 @@ serial8250_set_termios(struct uart_port *port, struct ktermios *termios,
+@@ -2387,7 +2481,15 @@ serial8250_set_termios(struct uart_port
serial_outp(up, UART_LCR, cval | UART_LCR_DLAB);/* set DLAB */
}
@@ -173,6 +171,3 @@ index 737b4c9..65ee974 100644
/*
* LCR DLAB must be set to enable 64-byte FIFO mode. If the FCR
---
-1.5.6.5
-
diff --git a/target/linux/xburst/patches-2.6.32/104-usb.patch b/target/linux/xburst/patches-2.6.32/104-usb.patch
index dda4702491..29127b820e 100644
--- a/target/linux/xburst/patches-2.6.32/104-usb.patch
+++ b/target/linux/xburst/patches-2.6.32/104-usb.patch
@@ -10,8 +10,6 @@ Subject: [PATCH] /opt/Projects/openwrt/target/linux/xburst/patches-2.6.31/104-us
drivers/usb/gadget/gadget_chips.h | 9 +++++++++
4 files changed, 25 insertions(+), 0 deletions(-)
-diff --git a/drivers/usb/Kconfig b/drivers/usb/Kconfig
-index 2407508..dac9129 100644
--- a/drivers/usb/Kconfig
+++ b/drivers/usb/Kconfig
@@ -44,6 +44,7 @@ config USB_ARCH_HAS_OHCI
@@ -22,8 +20,6 @@ index 2407508..dac9129 100644
# SH:
default y if CPU_SUBTYPE_SH7720
default y if CPU_SUBTYPE_SH7721
-diff --git a/drivers/usb/gadget/Kconfig b/drivers/usb/gadget/Kconfig
-index a18e3c5..c5c77e1 100644
--- a/drivers/usb/gadget/Kconfig
+++ b/drivers/usb/gadget/Kconfig
@@ -121,11 +121,25 @@ choice
@@ -52,8 +48,6 @@ index a18e3c5..c5c77e1 100644
help
Many Atmel AT91 processors (such as the AT91RM2000) have a
full speed USB Device Port with support for five configurable
-diff --git a/drivers/usb/gadget/Makefile b/drivers/usb/gadget/Makefile
-index 9d7b87c..cb2920e 100644
--- a/drivers/usb/gadget/Makefile
+++ b/drivers/usb/gadget/Makefile
@@ -28,6 +28,7 @@ obj-$(CONFIG_USB_FSL_QE) += fsl_qe_udc.o
@@ -64,8 +58,6 @@ index 9d7b87c..cb2920e 100644
#
# USB gadget drivers
-diff --git a/drivers/usb/gadget/gadget_chips.h b/drivers/usb/gadget/gadget_chips.h
-index f2d270b..369f20a 100644
--- a/drivers/usb/gadget/gadget_chips.h
+++ b/drivers/usb/gadget/gadget_chips.h
@@ -15,6 +15,12 @@
@@ -81,7 +73,7 @@ index f2d270b..369f20a 100644
#ifdef CONFIG_USB_GADGET_NET2280
#define gadget_is_net2280(g) !strcmp("net2280", (g)->name)
#else
-@@ -247,6 +253,9 @@ static inline int usb_gadget_controller_number(struct usb_gadget *gadget)
+@@ -247,6 +253,9 @@ static inline int usb_gadget_controller_
return 0x24;
else if (gadget_is_r8a66597(gadget))
return 0x25;
@@ -91,6 +83,3 @@ index f2d270b..369f20a 100644
return -ENOENT;
}
---
-1.5.6.5
-
diff --git a/target/linux/xburst/patches-2.6.32/105-sound.patch b/target/linux/xburst/patches-2.6.32/105-sound.patch
index 7e2fd3d907..49496b5caa 100644
--- a/target/linux/xburst/patches-2.6.32/105-sound.patch
+++ b/target/linux/xburst/patches-2.6.32/105-sound.patch
@@ -12,8 +12,6 @@ Subject: [PATCH] /opt/Projects/openwrt/target/linux/xburst/patches-2.6.31/105-so
sound/soc/codecs/Makefile | 2 ++
6 files changed, 28 insertions(+), 16 deletions(-)
-diff --git a/include/sound/pcm.h b/include/sound/pcm.h
-index de6d981..6ecc22b 100644
--- a/include/sound/pcm.h
+++ b/include/sound/pcm.h
@@ -113,23 +113,23 @@ struct snd_pcm_ops {
@@ -53,11 +51,9 @@ index de6d981..6ecc22b 100644
#define SNDRV_PCM_RATE_8000_48000 (SNDRV_PCM_RATE_8000_44100|SNDRV_PCM_RATE_48000)
#define SNDRV_PCM_RATE_8000_96000 (SNDRV_PCM_RATE_8000_48000|SNDRV_PCM_RATE_64000|\
SNDRV_PCM_RATE_88200|SNDRV_PCM_RATE_96000)
-diff --git a/sound/core/pcm_native.c b/sound/core/pcm_native.c
-index ab73edf..35c22d7 100644
--- a/sound/core/pcm_native.c
+++ b/sound/core/pcm_native.c
-@@ -1721,12 +1721,13 @@ static int snd_pcm_hw_rule_sample_bits(struct snd_pcm_hw_params *params,
+@@ -1721,12 +1721,13 @@ static int snd_pcm_hw_rule_sample_bits(s
return snd_interval_refine(hw_param_interval(params, rule->var), &t);
}
@@ -74,8 +70,6 @@ index ab73edf..35c22d7 100644
const struct snd_pcm_hw_constraint_list snd_pcm_known_rates = {
.count = ARRAY_SIZE(rates),
-diff --git a/sound/soc/Kconfig b/sound/soc/Kconfig
-index b1749bc..5a7a724 100644
--- a/sound/soc/Kconfig
+++ b/sound/soc/Kconfig
@@ -36,6 +36,7 @@ source "sound/soc/s3c24xx/Kconfig"
@@ -86,8 +80,6 @@ index b1749bc..5a7a724 100644
# Supported codecs
source "sound/soc/codecs/Kconfig"
-diff --git a/sound/soc/Makefile b/sound/soc/Makefile
-index 0c5eac0..8e7b5cb 100644
--- a/sound/soc/Makefile
+++ b/sound/soc/Makefile
@@ -14,3 +14,4 @@ obj-$(CONFIG_SND_SOC) += s3c24xx/
@@ -95,8 +87,6 @@ index 0c5eac0..8e7b5cb 100644
obj-$(CONFIG_SND_SOC) += sh/
obj-$(CONFIG_SND_SOC) += txx9/
+obj-$(CONFIG_SND_SOC) += jz4740/
-diff --git a/sound/soc/codecs/Kconfig b/sound/soc/codecs/Kconfig
-index 0edca93..cd5e44a 100644
--- a/sound/soc/codecs/Kconfig
+++ b/sound/soc/codecs/Kconfig
@@ -217,6 +217,13 @@ config SND_SOC_WM9712
@@ -113,8 +103,6 @@ index 0edca93..cd5e44a 100644
# Amp
config SND_SOC_MAX9877
tristate
-diff --git a/sound/soc/codecs/Makefile b/sound/soc/codecs/Makefile
-index fb4af28..d58b0fa 100644
--- a/sound/soc/codecs/Makefile
+++ b/sound/soc/codecs/Makefile
@@ -44,6 +44,7 @@ snd-soc-wm9705-objs := wm9705.o
@@ -125,7 +113,7 @@ index fb4af28..d58b0fa 100644
# Amp
snd-soc-max9877-objs := max9877.o
-@@ -94,6 +95,7 @@ obj-$(CONFIG_SND_SOC_WM9705) += snd-soc-wm9705.o
+@@ -94,6 +95,7 @@ obj-$(CONFIG_SND_SOC_WM9705) += snd-soc-
obj-$(CONFIG_SND_SOC_WM9712) += snd-soc-wm9712.o
obj-$(CONFIG_SND_SOC_WM9713) += snd-soc-wm9713.o
obj-$(CONFIG_SND_SOC_WM_HUBS) += snd-soc-wm-hubs.o
@@ -133,6 +121,3 @@ index fb4af28..d58b0fa 100644
# Amp
obj-$(CONFIG_SND_SOC_MAX9877) += snd-soc-max9877.o
---
-1.5.6.5
-
diff --git a/target/linux/xburst/patches-2.6.32/220-add-2gb-nand-support.patch b/target/linux/xburst/patches-2.6.32/220-add-2gb-nand-support.patch
index 1716a0beb0..f41a814b5e 100644
--- a/target/linux/xburst/patches-2.6.32/220-add-2gb-nand-support.patch
+++ b/target/linux/xburst/patches-2.6.32/220-add-2gb-nand-support.patch
@@ -7,11 +7,9 @@ Subject: [PATCH] /opt/Projects/openwrt/target/linux/xburst/patches-2.6.31/220-ad
include/mtd/mtd-abi.h | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
-diff --git a/include/mtd/mtd-abi.h b/include/mtd/mtd-abi.h
-index be51ae2..cf90168 100644
--- a/include/mtd/mtd-abi.h
+++ b/include/mtd/mtd-abi.h
-@@ -134,7 +134,7 @@ struct nand_oobfree {
+@@ -135,7 +135,7 @@ struct nand_oobfree {
*/
struct nand_ecclayout {
__u32 eccbytes;
@@ -20,6 +18,3 @@ index be51ae2..cf90168 100644
__u32 oobavail;
struct nand_oobfree oobfree[MTD_MAX_OOBFREE_ENTRIES];
};
---
-1.5.6.5
-
diff --git a/target/linux/xburst/patches-2.6.32/300-jffs2-summery-vmalloc.patch b/target/linux/xburst/patches-2.6.32/300-jffs2-summery-vmalloc.patch
index 6658584eab..4d7334b539 100644
--- a/target/linux/xburst/patches-2.6.32/300-jffs2-summery-vmalloc.patch
+++ b/target/linux/xburst/patches-2.6.32/300-jffs2-summery-vmalloc.patch
@@ -7,11 +7,9 @@ Subject: [PATCH] /opt/Projects/openwrt/target/linux/xburst/patches-2.6.31/300-jf
fs/jffs2/summary.c | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
-diff --git a/fs/jffs2/summary.c b/fs/jffs2/summary.c
-index 6caf1e1..b4882c6 100644
--- a/fs/jffs2/summary.c
+++ b/fs/jffs2/summary.c
-@@ -32,7 +32,7 @@ int jffs2_sum_init(struct jffs2_sb_info *c)
+@@ -32,7 +32,7 @@ int jffs2_sum_init(struct jffs2_sb_info
return -ENOMEM;
}
@@ -20,7 +18,7 @@ index 6caf1e1..b4882c6 100644
if (!c->summary->sum_buf) {
JFFS2_WARNING("Can't allocate buffer for writing out summary information!\n");
-@@ -51,7 +51,7 @@ void jffs2_sum_exit(struct jffs2_sb_info *c)
+@@ -51,7 +51,7 @@ void jffs2_sum_exit(struct jffs2_sb_info
jffs2_sum_disable_collecting(c->summary);
@@ -29,6 +27,3 @@ index 6caf1e1..b4882c6 100644
c->summary->sum_buf = NULL;
kfree(c->summary);
---
-1.5.6.5
-
diff --git a/target/linux/xburst/patches-2.6.32/400-spi-gpio-3wire.patch b/target/linux/xburst/patches-2.6.32/400-spi-gpio-3wire.patch
index dc81a67df6..fff18531c0 100644
--- a/target/linux/xburst/patches-2.6.32/400-spi-gpio-3wire.patch
+++ b/target/linux/xburst/patches-2.6.32/400-spi-gpio-3wire.patch
@@ -7,11 +7,9 @@ Subject: [PATCH] /opt/Projects/openwrt/target/linux/xburst/patches-2.6.31/400-sp
drivers/spi/spi_gpio.c | 14 +++++++++-----
1 files changed, 9 insertions(+), 5 deletions(-)
-diff --git a/drivers/spi/spi_gpio.c b/drivers/spi/spi_gpio.c
-index 26bd03e..5f89c21 100644
--- a/drivers/spi/spi_gpio.c
+++ b/drivers/spi/spi_gpio.c
-@@ -243,9 +243,11 @@ spi_gpio_request(struct spi_gpio_platform_data *pdata, const char *label)
+@@ -254,9 +254,11 @@ spi_gpio_request(struct spi_gpio_platfor
if (value)
goto done;
@@ -26,7 +24,7 @@ index 26bd03e..5f89c21 100644
value = spi_gpio_alloc(SPI_SCK_GPIO, label, false);
if (value)
-@@ -308,7 +310,8 @@ static int __init spi_gpio_probe(struct platform_device *pdev)
+@@ -319,7 +321,8 @@ static int __devinit spi_gpio_probe(stru
if (status < 0) {
spi_master_put(spi_gpio->bitbang.master);
gpio_free:
@@ -36,7 +34,7 @@ index 26bd03e..5f89c21 100644
gpio_free(SPI_MOSI_GPIO);
gpio_free(SPI_SCK_GPIO);
spi_master_put(master);
-@@ -332,7 +335,8 @@ static int __exit spi_gpio_remove(struct platform_device *pdev)
+@@ -343,7 +346,8 @@ static int __devexit spi_gpio_remove(str
platform_set_drvdata(pdev, NULL);
@@ -46,6 +44,3 @@ index 26bd03e..5f89c21 100644
gpio_free(SPI_MOSI_GPIO);
gpio_free(SPI_SCK_GPIO);
---
-1.5.6.5
-
diff --git a/target/linux/xburst/patches-2.6.32/420-fb-notifier-pre-post.patch b/target/linux/xburst/patches-2.6.32/420-fb-notifier-pre-post.patch
index 43277062dc..9423b2cff4 100644
--- a/target/linux/xburst/patches-2.6.32/420-fb-notifier-pre-post.patch
+++ b/target/linux/xburst/patches-2.6.32/420-fb-notifier-pre-post.patch
@@ -7,11 +7,9 @@ Subject: [PATCH] /opt/Projects/openwrt/target/linux/xburst/patches-2.6.31/420-fb
drivers/video/fbmem.c | 8 ++++++--
1 files changed, 6 insertions(+), 2 deletions(-)
-diff --git a/drivers/video/fbmem.c b/drivers/video/fbmem.c
-index 99bbd28..5e121b8 100644
--- a/drivers/video/fbmem.c
+++ b/drivers/video/fbmem.c
-@@ -1008,12 +1008,12 @@ fb_set_var(struct fb_info *info, struct fb_var_screeninfo *var)
+@@ -1008,12 +1008,12 @@ fb_set_var(struct fb_info *info, struct
int
fb_blank(struct fb_info *info, int blank)
{
@@ -26,7 +24,7 @@ index 99bbd28..5e121b8 100644
ret = info->fbops->fb_blank(blank, info);
if (!ret) {
-@@ -1024,6 +1024,10 @@ fb_blank(struct fb_info *info, int blank)
+@@ -1024,6 +1024,10 @@ fb_blank(struct fb_info *info, int blank
fb_notifier_call_chain(FB_EVENT_BLANK, &event);
}
@@ -37,6 +35,3 @@ index 99bbd28..5e121b8 100644
return ret;
}
---
-1.5.6.5
-
diff --git a/target/linux/xburst/patches-2.6.32/500-modifier-keys.patch b/target/linux/xburst/patches-2.6.32/500-modifier-keys.patch
index f14ab54e83..9a42684b74 100644
--- a/target/linux/xburst/patches-2.6.32/500-modifier-keys.patch
+++ b/target/linux/xburst/patches-2.6.32/500-modifier-keys.patch
@@ -7,8 +7,6 @@ Subject: [PATCH] /opt/Projects/openwrt/target/linux/xburst/patches-2.6.31/500-mo
drivers/char/defkeymap.map | 74 +++++++++++++++++++++++++++++++-------------
1 files changed, 52 insertions(+), 22 deletions(-)
-diff --git a/drivers/char/defkeymap.map b/drivers/char/defkeymap.map
-index 50b30ca..ce141c8 100644
--- a/drivers/char/defkeymap.map
+++ b/drivers/char/defkeymap.map
@@ -1,5 +1,5 @@
@@ -18,7 +16,7 @@ index 50b30ca..ce141c8 100644
# Change the above line into
# keymaps 0-2,4-6,8,12
# in case you want the entries
-@@ -45,24 +45,38 @@ keycode 12 = minus underscore backslash
+@@ -45,24 +45,38 @@ keycode 12 = minus underscor
control keycode 12 = Control_underscore
shift control keycode 12 = Control_underscore
alt keycode 12 = Meta_minus
@@ -60,7 +58,7 @@ index 50b30ca..ce141c8 100644
keycode 26 = bracketleft braceleft
control keycode 26 = Escape
alt keycode 26 = Meta_bracketleft
-@@ -71,19 +85,28 @@ keycode 27 = bracketright braceright asciitilde
+@@ -71,19 +85,28 @@ keycode 27 = bracketright bracerigh
alt keycode 27 = Meta_bracketright
keycode 28 = Return
alt keycode 28 = Meta_Control_m
@@ -93,7 +91,7 @@ index 50b30ca..ce141c8 100644
keycode 39 = semicolon colon
alt keycode 39 = Meta_semicolon
keycode 40 = apostrophe quotedbl
-@@ -97,58 +120,65 @@ keycode 43 = backslash bar
+@@ -97,58 +120,65 @@ keycode 43 = backslash bar
control keycode 43 = Control_backslash
alt keycode 43 = Meta_backslash
keycode 44 = z
@@ -181,6 +179,3 @@ index 50b30ca..ce141c8 100644
keycode 98 = KP_Divide
keycode 99 = Control_backslash
control keycode 99 = Control_backslash
---
-1.5.6.5
-
diff --git a/target/linux/xburst/patches-2.6.32/800-n526-lpc.patch b/target/linux/xburst/patches-2.6.32/800-n526-lpc.patch
index 4351b833f5..df81b64ba3 100644
--- a/target/linux/xburst/patches-2.6.32/800-n526-lpc.patch
+++ b/target/linux/xburst/patches-2.6.32/800-n526-lpc.patch
@@ -8,8 +8,6 @@ Subject: [PATCH] /opt/Projects/openwrt/target/linux/xburst/patches-2.6.31/800-n5
drivers/i2c/chips/Makefile | 1 +
2 files changed, 10 insertions(+), 0 deletions(-)
-diff --git a/drivers/i2c/chips/Kconfig b/drivers/i2c/chips/Kconfig
-index f9618f4..d84da61 100644
--- a/drivers/i2c/chips/Kconfig
+++ b/drivers/i2c/chips/Kconfig
@@ -26,4 +26,13 @@ config SENSORS_TSL2550
@@ -26,8 +24,6 @@ index f9618f4..d84da61 100644
+ If you have a N526 you probably want to say Y here.
+
endmenu
-diff --git a/drivers/i2c/chips/Makefile b/drivers/i2c/chips/Makefile
-index 749cf36..856c8b5 100644
--- a/drivers/i2c/chips/Makefile
+++ b/drivers/i2c/chips/Makefile
@@ -12,6 +12,7 @@
@@ -38,6 +34,3 @@ index 749cf36..856c8b5 100644
ifeq ($(CONFIG_I2C_DEBUG_CHIP),y)
EXTRA_CFLAGS += -DDEBUG
---
-1.5.6.5
-
diff --git a/target/linux/xburst/patches-2.6.32/900-add-openwrt-logo.patch b/target/linux/xburst/patches-2.6.32/900-add-openwrt-logo.patch
index 31ca2b5aae..e0ae84628f 100644
--- a/target/linux/xburst/patches-2.6.32/900-add-openwrt-logo.patch
+++ b/target/linux/xburst/patches-2.6.32/900-add-openwrt-logo.patch
@@ -10,8 +10,6 @@ Subject: [PATCH] /opt/Projects/openwrt/target/linux/xburst/patches-2.6.31/900-ad
include/linux/linux_logo.h | 1 +
4 files changed, 10 insertions(+), 0 deletions(-)
-diff --git a/drivers/video/logo/Kconfig b/drivers/video/logo/Kconfig
-index 39ac49e..03da067 100644
--- a/drivers/video/logo/Kconfig
+++ b/drivers/video/logo/Kconfig
@@ -82,4 +82,8 @@ config LOGO_M32R_CLUT224
@@ -23,11 +21,9 @@ index 39ac49e..03da067 100644
+ default y
+
endif # LOGO
-diff --git a/drivers/video/logo/Makefile b/drivers/video/logo/Makefile
-index 3b43781..cbed3a5 100644
--- a/drivers/video/logo/Makefile
+++ b/drivers/video/logo/Makefile
-@@ -15,6 +15,7 @@ obj-$(CONFIG_LOGO_SUPERH_MONO) += logo_superh_mono.o
+@@ -15,6 +15,7 @@ obj-$(CONFIG_LOGO_SUPERH_MONO) += logo_
obj-$(CONFIG_LOGO_SUPERH_VGA16) += logo_superh_vga16.o
obj-$(CONFIG_LOGO_SUPERH_CLUT224) += logo_superh_clut224.o
obj-$(CONFIG_LOGO_M32R_CLUT224) += logo_m32r_clut224.o
@@ -35,11 +31,9 @@ index 3b43781..cbed3a5 100644
obj-$(CONFIG_SPU_BASE) += logo_spe_clut224.o
-diff --git a/drivers/video/logo/logo.c b/drivers/video/logo/logo.c
-index ea7a8cc..7208830 100644
--- a/drivers/video/logo/logo.c
+++ b/drivers/video/logo/logo.c
-@@ -100,6 +100,10 @@ const struct linux_logo * __init_refok fb_find_logo(int depth)
+@@ -100,6 +100,10 @@ const struct linux_logo * __init_refok f
/* M32R Linux logo */
logo = &logo_m32r_clut224;
#endif
@@ -50,11 +44,9 @@ index ea7a8cc..7208830 100644
}
return logo;
}
-diff --git a/include/linux/linux_logo.h b/include/linux/linux_logo.h
-index ca5bd91..67166f3 100644
--- a/include/linux/linux_logo.h
+++ b/include/linux/linux_logo.h
-@@ -47,6 +47,7 @@ extern const struct linux_logo logo_superh_vga16;
+@@ -47,6 +47,7 @@ extern const struct linux_logo logo_supe
extern const struct linux_logo logo_superh_clut224;
extern const struct linux_logo logo_m32r_clut224;
extern const struct linux_logo logo_spe_clut224;
@@ -9734,4 +9726,3 @@ index ca5bd91..67166f3 100644
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0
-