From 3e6e12295cb214c967095c990cc25bd00d06549e Mon Sep 17 00:00:00 2001 From: hcg Date: Thu, 25 Aug 2011 10:37:30 +0000 Subject: [omap35xx]: Re-order patches, add nand sub-page alignment git-svn-id: svn://svn.openwrt.org/openwrt/trunk@28084 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- .../patches-3.0/001-change_partition_table.patch | 34 ++++++++++++++++++++++ .../omap35xx/patches-3.0/002-fix_twl_rtc.patch | 26 +++++++++++++++++ .../patches-3.0/003-change_partition_table.patch | 34 ---------------------- .../patches-3.0/003-nand_subpage_align.patch | 22 ++++++++++++++ .../omap35xx/patches-3.0/004-fix-twl-rtc.patch | 26 ----------------- 5 files changed, 82 insertions(+), 60 deletions(-) create mode 100644 target/linux/omap35xx/patches-3.0/001-change_partition_table.patch create mode 100644 target/linux/omap35xx/patches-3.0/002-fix_twl_rtc.patch delete mode 100644 target/linux/omap35xx/patches-3.0/003-change_partition_table.patch create mode 100644 target/linux/omap35xx/patches-3.0/003-nand_subpage_align.patch delete mode 100644 target/linux/omap35xx/patches-3.0/004-fix-twl-rtc.patch (limited to 'target') diff --git a/target/linux/omap35xx/patches-3.0/001-change_partition_table.patch b/target/linux/omap35xx/patches-3.0/001-change_partition_table.patch new file mode 100644 index 000000000..65ba45a35 --- /dev/null +++ b/target/linux/omap35xx/patches-3.0/001-change_partition_table.patch @@ -0,0 +1,34 @@ +--- linux-2.6.36.1/arch/arm/mach-omap2/board-overo.c.old 2011-02-18 12:24:24.000000000 +0100 ++++ linux-2.6.36.1/arch/arm/mach-omap2/board-overo.c 2011-02-18 12:38:40.000000000 +0100 +@@ -250,13 +250,28 @@ + .size = 2 * NAND_BLOCK_SIZE, + }, + { +- .name = "linux", ++ .name = "kernel 0", + .offset = MTDPART_OFS_APPEND, /* Offset = 0x280000 */ +- .size = 32 * NAND_BLOCK_SIZE, ++ .size = 16 * NAND_BLOCK_SIZE, + }, + { +- .name = "rootfs", ++ .name = "kernel 1", ++ .offset = MTDPART_OFS_APPEND, /* Offset = 0x480000 */ ++ .size = 16 * NAND_BLOCK_SIZE, ++ }, ++ { ++ .name = "rootfs 0", + .offset = MTDPART_OFS_APPEND, /* Offset = 0x680000 */ ++ .size = 512 * NAND_BLOCK_SIZE, ++ }, ++ { ++ .name = "rootfs 1", ++ .offset = MTDPART_OFS_APPEND, /* Offset = 0x2e80000 */ ++ .size = 512 * NAND_BLOCK_SIZE, ++ }, ++ { ++ .name = "data", ++ .offset = MTDPART_OFS_APPEND, /* Offset = 0x5680000 */ + .size = MTDPART_SIZ_FULL, + }, + }; diff --git a/target/linux/omap35xx/patches-3.0/002-fix_twl_rtc.patch b/target/linux/omap35xx/patches-3.0/002-fix_twl_rtc.patch new file mode 100644 index 000000000..ef243ea47 --- /dev/null +++ b/target/linux/omap35xx/patches-3.0/002-fix_twl_rtc.patch @@ -0,0 +1,26 @@ +--- a/drivers/rtc/rtc-twl.c ++++ b/drivers/rtc/rtc-twl.c +@@ -362,14 +362,6 @@ static irqreturn_t twl_rtc_interrupt(int + int res; + u8 rd_reg; + +-#ifdef CONFIG_LOCKDEP +- /* WORKAROUND for lockdep forcing IRQF_DISABLED on us, which +- * we don't want and can't tolerate. Although it might be +- * friendlier not to borrow this thread context... +- */ +- local_irq_enable(); +-#endif +- + res = twl_rtc_read_u8(&rd_reg, REG_RTC_STATUS_REG); + if (res) + goto out; +@@ -462,7 +454,7 @@ static int __devinit twl_rtc_probe(struc + if (ret < 0) + goto out1; + +- ret = request_irq(irq, twl_rtc_interrupt, ++ ret = request_threaded_irq(irq, NULL, twl_rtc_interrupt, + IRQF_TRIGGER_RISING, + dev_name(&rtc->dev), rtc); + if (ret < 0) { diff --git a/target/linux/omap35xx/patches-3.0/003-change_partition_table.patch b/target/linux/omap35xx/patches-3.0/003-change_partition_table.patch deleted file mode 100644 index 65ba45a35..000000000 --- a/target/linux/omap35xx/patches-3.0/003-change_partition_table.patch +++ /dev/null @@ -1,34 +0,0 @@ ---- linux-2.6.36.1/arch/arm/mach-omap2/board-overo.c.old 2011-02-18 12:24:24.000000000 +0100 -+++ linux-2.6.36.1/arch/arm/mach-omap2/board-overo.c 2011-02-18 12:38:40.000000000 +0100 -@@ -250,13 +250,28 @@ - .size = 2 * NAND_BLOCK_SIZE, - }, - { -- .name = "linux", -+ .name = "kernel 0", - .offset = MTDPART_OFS_APPEND, /* Offset = 0x280000 */ -- .size = 32 * NAND_BLOCK_SIZE, -+ .size = 16 * NAND_BLOCK_SIZE, - }, - { -- .name = "rootfs", -+ .name = "kernel 1", -+ .offset = MTDPART_OFS_APPEND, /* Offset = 0x480000 */ -+ .size = 16 * NAND_BLOCK_SIZE, -+ }, -+ { -+ .name = "rootfs 0", - .offset = MTDPART_OFS_APPEND, /* Offset = 0x680000 */ -+ .size = 512 * NAND_BLOCK_SIZE, -+ }, -+ { -+ .name = "rootfs 1", -+ .offset = MTDPART_OFS_APPEND, /* Offset = 0x2e80000 */ -+ .size = 512 * NAND_BLOCK_SIZE, -+ }, -+ { -+ .name = "data", -+ .offset = MTDPART_OFS_APPEND, /* Offset = 0x5680000 */ - .size = MTDPART_SIZ_FULL, - }, - }; diff --git a/target/linux/omap35xx/patches-3.0/003-nand_subpage_align.patch b/target/linux/omap35xx/patches-3.0/003-nand_subpage_align.patch new file mode 100644 index 000000000..4bb854db6 --- /dev/null +++ b/target/linux/omap35xx/patches-3.0/003-nand_subpage_align.patch @@ -0,0 +1,22 @@ +diff -urN linux-2.6.38.old/drivers/mtd/nand/omap2.c linux-2.6.38/drivers/mtd/nand/omap2.c +--- linux-2.6.38.old/drivers/mtd/nand/omap2.c 2011-03-15 02:20:32.000000000 +0100 ++++ linux-2.6.38/drivers/mtd/nand/omap2.c 2011-03-21 15:05:21.000000000 +0100 +@@ -245,6 +245,18 @@ + int ret = 0; + u32 *p = (u32 *)buf; + ++ /* u32 align the buffer and read */ ++ /* NB: This assumes the buf ptr can be aligned *down* which is a valid. ++ * Assumption when dealing with ecc buffers etc. ++ */ ++ u32 addr = (u32)p; ++ ++ int diff = addr & 3; ++ addr -= diff; ++ len += diff; ++ len = (len + 3) & ~3; ++ p = (u32 *)addr; ++ + /* take care of subpage reads */ + if (len % 4) { + if (info->nand.options & NAND_BUSWIDTH_16) diff --git a/target/linux/omap35xx/patches-3.0/004-fix-twl-rtc.patch b/target/linux/omap35xx/patches-3.0/004-fix-twl-rtc.patch deleted file mode 100644 index ef243ea47..000000000 --- a/target/linux/omap35xx/patches-3.0/004-fix-twl-rtc.patch +++ /dev/null @@ -1,26 +0,0 @@ ---- a/drivers/rtc/rtc-twl.c -+++ b/drivers/rtc/rtc-twl.c -@@ -362,14 +362,6 @@ static irqreturn_t twl_rtc_interrupt(int - int res; - u8 rd_reg; - --#ifdef CONFIG_LOCKDEP -- /* WORKAROUND for lockdep forcing IRQF_DISABLED on us, which -- * we don't want and can't tolerate. Although it might be -- * friendlier not to borrow this thread context... -- */ -- local_irq_enable(); --#endif -- - res = twl_rtc_read_u8(&rd_reg, REG_RTC_STATUS_REG); - if (res) - goto out; -@@ -462,7 +454,7 @@ static int __devinit twl_rtc_probe(struc - if (ret < 0) - goto out1; - -- ret = request_irq(irq, twl_rtc_interrupt, -+ ret = request_threaded_irq(irq, NULL, twl_rtc_interrupt, - IRQF_TRIGGER_RISING, - dev_name(&rtc->dev), rtc); - if (ret < 0) { -- cgit v1.2.3