diff --git a/target/linux/ar71xx/config-2.6.30 b/target/linux/ar71xx/config-2.6.30
index 7675083c543a8915ddf98fed5dcf69506eb1423d..9ec9a2d710bf5dcb98c5f0a06f8fa0e537dcf924 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 0000000000000000000000000000000000000000..d74df1a21028ae32506d017881a569b9ceecafbf
--- /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
+