From 253c9fcf7d948fb8763defe612cf53ee860744f3 Mon Sep 17 00:00:00 2001
From: Gabor Juhos <juhosg@openwrt.org>
Date: Sat, 8 Aug 2009 13:09:03 +0000
Subject: [PATCH] WRT160NL: enable mtd parser on 2.6.30

SVN-Revision: 17178
---
 target/linux/ar71xx/config-2.6.30             |  1 +
 .../109-mtd-wrt160nl-trx-parser.patch         | 44 +++++++++++++++++++
 2 files changed, 45 insertions(+)
 create mode 100644 target/linux/ar71xx/patches-2.6.30/109-mtd-wrt160nl-trx-parser.patch

diff --git a/target/linux/ar71xx/config-2.6.30 b/target/linux/ar71xx/config-2.6.30
index 7675083c54..9ec9a2d710 100644
--- a/target/linux/ar71xx/config-2.6.30
+++ b/target/linux/ar71xx/config-2.6.30
@@ -147,6 +147,7 @@ CONFIG_MTD_NAND=y
 CONFIG_MTD_NAND_RB4XX=y
 CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-2
 CONFIG_MTD_REDBOOT_PARTS=y
+CONFIG_MTD_WRT160NL_PARTS=y
 CONFIG_MYLOADER=y
 # CONFIG_NATSEMI is not set
 CONFIG_NET_DSA=y
diff --git a/target/linux/ar71xx/patches-2.6.30/109-mtd-wrt160nl-trx-parser.patch b/target/linux/ar71xx/patches-2.6.30/109-mtd-wrt160nl-trx-parser.patch
new file mode 100644
index 0000000000..d74df1a210
--- /dev/null
+++ b/target/linux/ar71xx/patches-2.6.30/109-mtd-wrt160nl-trx-parser.patch
@@ -0,0 +1,44 @@
+--- a/drivers/mtd/devices/m25p80.c
++++ b/drivers/mtd/devices/m25p80.c
+@@ -751,6 +751,16 @@ static int __devinit m25p_probe(struct s
+ 					part_probes, &parts, 0);
+ 		}
+ #endif
++
++#ifdef CONFIG_MTD_WRT160NL_PARTS
++		if (nr_parts <= 0) {
++			static const char *part_probes[]
++					= { "wrt160nl", NULL, };
++
++			nr_parts = parse_mtd_partitions(&flash->mtd,
++					part_probes, &parts, 0);
++		}
++#endif
+ 		if (nr_parts <= 0 && data && data->parts) {
+ 			parts = data->parts;
+ 			nr_parts = data->nr_parts;
+--- a/drivers/mtd/Kconfig
++++ b/drivers/mtd/Kconfig
+@@ -180,6 +180,12 @@ config MTD_AR7_PARTS
+ 	---help---
+ 	  TI AR7 partitioning support
+ 
++config MTD_WRT160NL_PARTS
++	tristate "Linksys WRT160NL partitioning support"
++	depends on MTD_PARTITIONS && AR71XX_MACH_WRT160NL
++	---help---
++	   Linksys WRT160NL partitioning support
++
+ config MTD_MYLOADER_PARTS
+ 	tristate "MyLoader partition parsing"
+ 	depends on MTD_PARTITIONS && (ADM5120 || ATHEROS || ATHEROS_AR71XX)
+--- a/drivers/mtd/Makefile
++++ b/drivers/mtd/Makefile
+@@ -12,6 +12,7 @@ obj-$(CONFIG_MTD_REDBOOT_PARTS) += redbo
+ obj-$(CONFIG_MTD_CMDLINE_PARTS) += cmdlinepart.o
+ obj-$(CONFIG_MTD_AFS_PARTS)	+= afs.o
+ obj-$(CONFIG_MTD_AR7_PARTS)	+= ar7part.o
++obj-$(CONFIG_MTD_WRT160NL_PARTS) += wrt160nl_part.o
+ obj-$(CONFIG_MTD_OF_PARTS)      += ofpart.o
+ obj-$(CONFIG_MTD_MYLOADER_PARTS) += myloader.o
+ 
-- 
GitLab