From ca804fcbc9c0181a63b765725667ef341c09b79a Mon Sep 17 00:00:00 2001
From: Gabor Juhos <juhosg@openwrt.org>
Date: Tue, 18 Nov 2008 12:52:27 +0000
Subject: [PATCH] add EON en25p32 support, and enable redboot partition parser
 in the m25p80 driver

SVN-Revision: 13277
---
 ...mtd_m25p80_add_pm25lv_flash_support.patch} |  0
 .../103-mtd_m25p80_add_en25p32_support.patch  | 12 ++++++++++
 .../104-mtd_m25p80_add_redboot_parser.patch   | 12 ++++++++++
 ...mtd_m25p80_add_pm25lv_flash_support.patch} |  0
 .../102-mtd_m25p80_add_myloader_parser.patch  | 22 +++++++++++++++++++
 .../103-mtd_m25p80_add_en25p32_support.patch  | 12 ++++++++++
 .../104-mtd_m25p80_add_redboot_parser.patch   | 12 ++++++++++
 7 files changed, 70 insertions(+)
 rename target/linux/ar71xx/patches-2.6.26/{100-mtd_pm25lv_flash_support.patch => 100-mtd_m25p80_add_pm25lv_flash_support.patch} (100%)
 create mode 100644 target/linux/ar71xx/patches-2.6.26/103-mtd_m25p80_add_en25p32_support.patch
 create mode 100644 target/linux/ar71xx/patches-2.6.26/104-mtd_m25p80_add_redboot_parser.patch
 rename target/linux/ar71xx/patches-2.6.27/{100-mtd_pm25lv_flash_support.patch => 100-mtd_m25p80_add_pm25lv_flash_support.patch} (100%)
 create mode 100644 target/linux/ar71xx/patches-2.6.27/102-mtd_m25p80_add_myloader_parser.patch
 create mode 100644 target/linux/ar71xx/patches-2.6.27/103-mtd_m25p80_add_en25p32_support.patch
 create mode 100644 target/linux/ar71xx/patches-2.6.27/104-mtd_m25p80_add_redboot_parser.patch

diff --git a/target/linux/ar71xx/patches-2.6.26/100-mtd_pm25lv_flash_support.patch b/target/linux/ar71xx/patches-2.6.26/100-mtd_m25p80_add_pm25lv_flash_support.patch
similarity index 100%
rename from target/linux/ar71xx/patches-2.6.26/100-mtd_pm25lv_flash_support.patch
rename to target/linux/ar71xx/patches-2.6.26/100-mtd_m25p80_add_pm25lv_flash_support.patch
diff --git a/target/linux/ar71xx/patches-2.6.26/103-mtd_m25p80_add_en25p32_support.patch b/target/linux/ar71xx/patches-2.6.26/103-mtd_m25p80_add_en25p32_support.patch
new file mode 100644
index 0000000000..cf0e70ec5f
--- /dev/null
+++ b/target/linux/ar71xx/patches-2.6.26/103-mtd_m25p80_add_en25p32_support.patch
@@ -0,0 +1,12 @@
+--- a/drivers/mtd/devices/m25p80.c
++++ b/drivers/mtd/devices/m25p80.c
+@@ -455,6 +455,9 @@ static struct flash_info __devinitdata m
+ 	{ "at26df161a", 0x1f4601, 64 * 1024, 32, SECT_4K, },
+ 	{ "at26df321",  0x1f4701, 64 * 1024, 64, SECT_4K, },
+ 
++	/* EON -- en25px */
++	{ "en25p32", 0x1c2016, 64 * 1024, 64, },
++
+ 	/* PMC -- pm25x "blocks" are 32K, sectors are 4K */
+ 	{ "pm25lv512",         0, 32 * 1024, 2, SECT_4K },
+ 	{ "pm25lv010",         0, 32 * 1024, 4, SECT_4K },
diff --git a/target/linux/ar71xx/patches-2.6.26/104-mtd_m25p80_add_redboot_parser.patch b/target/linux/ar71xx/patches-2.6.26/104-mtd_m25p80_add_redboot_parser.patch
new file mode 100644
index 0000000000..3cfacc2067
--- /dev/null
+++ b/target/linux/ar71xx/patches-2.6.26/104-mtd_m25p80_add_redboot_parser.patch
@@ -0,0 +1,12 @@
+--- a/drivers/mtd/devices/m25p80.c
++++ b/drivers/mtd/devices/m25p80.c
+@@ -655,6 +655,9 @@ static int __devinit m25p_probe(struct s
+ #ifdef CONFIG_MTD_MYLOADER_PARTS
+ 						"MyLoader",
+ #endif
++#ifdef CONFIG_MTD_REDBOOT_PARTS
++						"RedBoot",
++#endif
+ 					       	NULL, };
+ 
+ 		nr_parts = parse_mtd_partitions(&flash->mtd,
diff --git a/target/linux/ar71xx/patches-2.6.27/100-mtd_pm25lv_flash_support.patch b/target/linux/ar71xx/patches-2.6.27/100-mtd_m25p80_add_pm25lv_flash_support.patch
similarity index 100%
rename from target/linux/ar71xx/patches-2.6.27/100-mtd_pm25lv_flash_support.patch
rename to target/linux/ar71xx/patches-2.6.27/100-mtd_m25p80_add_pm25lv_flash_support.patch
diff --git a/target/linux/ar71xx/patches-2.6.27/102-mtd_m25p80_add_myloader_parser.patch b/target/linux/ar71xx/patches-2.6.27/102-mtd_m25p80_add_myloader_parser.patch
new file mode 100644
index 0000000000..4485d08608
--- /dev/null
+++ b/target/linux/ar71xx/patches-2.6.27/102-mtd_m25p80_add_myloader_parser.patch
@@ -0,0 +1,22 @@
+--- a/drivers/mtd/devices/m25p80.c
++++ b/drivers/mtd/devices/m25p80.c
+@@ -645,12 +645,17 @@ static int __devinit m25p_probe(struct s
+ 		struct mtd_partition	*parts = NULL;
+ 		int			nr_parts = 0;
+ 
++		static const char *part_probes[] = {
+ #ifdef CONFIG_MTD_CMDLINE_PARTS
+-		static const char *part_probes[] = { "cmdlinepart", NULL, };
++						"cmdlinepart",
++#endif
++#ifdef CONFIG_MTD_MYLOADER_PARTS
++						"MyLoader",
++#endif
++					       	NULL, };
+ 
+ 		nr_parts = parse_mtd_partitions(&flash->mtd,
+ 				part_probes, &parts, 0);
+-#endif
+ 
+ 		if (nr_parts <= 0 && data && data->parts) {
+ 			parts = data->parts;
diff --git a/target/linux/ar71xx/patches-2.6.27/103-mtd_m25p80_add_en25p32_support.patch b/target/linux/ar71xx/patches-2.6.27/103-mtd_m25p80_add_en25p32_support.patch
new file mode 100644
index 0000000000..c8a98a3e11
--- /dev/null
+++ b/target/linux/ar71xx/patches-2.6.27/103-mtd_m25p80_add_en25p32_support.patch
@@ -0,0 +1,12 @@
+--- a/drivers/mtd/devices/m25p80.c
++++ b/drivers/mtd/devices/m25p80.c
+@@ -455,6 +455,9 @@
+ 	{ "at26df161a", 0x1f4601, 64 * 1024, 32, SECT_4K, },
+ 	{ "at26df321",  0x1f4701, 64 * 1024, 64, SECT_4K, },
+ 
++	/* EON -- en25px */
++	{ "en25p32", 0x1c2016, 64 * 1024, 64, },
++
+ 	/* PMC -- pm25x "blocks" are 32K, sectors are 4K */
+ 	{ "pm25lv512",         0, 32 * 1024, 2, SECT_4K },
+ 	{ "pm25lv010",         0, 32 * 1024, 4, SECT_4K },
diff --git a/target/linux/ar71xx/patches-2.6.27/104-mtd_m25p80_add_redboot_parser.patch b/target/linux/ar71xx/patches-2.6.27/104-mtd_m25p80_add_redboot_parser.patch
new file mode 100644
index 0000000000..167c3d6b8c
--- /dev/null
+++ b/target/linux/ar71xx/patches-2.6.27/104-mtd_m25p80_add_redboot_parser.patch
@@ -0,0 +1,12 @@
+--- a/drivers/mtd/devices/m25p80.c
++++ b/drivers/mtd/devices/m25p80.c
+@@ -655,6 +655,9 @@
+ #ifdef CONFIG_MTD_MYLOADER_PARTS
+ 						"MyLoader",
+ #endif
++#ifdef CONFIG_MTD_REDBOOT_PARTS
++						"RedBoot",
++#endif
+ 					       	NULL, };
+ 
+ 		nr_parts = parse_mtd_partitions(&flash->mtd,
-- 
2.30.2