diff --git a/target/linux/ar7/patches-3.3/110-flash.patch b/target/linux/ar7/patches-3.3/110-flash.patch
index 80229c104fc621bd972d3d9ad7fb348d3af9f0d2..e42436875bec697813fc1166940abd05c541e367 100644
--- a/target/linux/ar7/patches-3.3/110-flash.patch
+++ b/target/linux/ar7/patches-3.3/110-flash.patch
@@ -1,14 +1,3 @@
---- a/drivers/mtd/maps/physmap.c
-+++ b/drivers/mtd/maps/physmap.c
-@@ -78,7 +78,7 @@ static const char *rom_probe_types[] = {
- 					"map_rom",
- 					NULL };
- static const char *part_probe_types[] = { "cmdlinepart", "RedBoot", "afs",
--					  NULL };
-+					  "ar7part", NULL };
- 
- static int physmap_flash_probe(struct platform_device *dev)
- {
 --- a/drivers/mtd/Makefile
 +++ b/drivers/mtd/Makefile
 @@ -10,7 +10,7 @@ obj-$(CONFIG_MTD_OF_PARTS)	+= ofpart.o
@@ -22,7 +11,7 @@
  
 --- a/arch/mips/ar7/platform.c
 +++ b/arch/mips/ar7/platform.c
-@@ -199,7 +199,7 @@ static struct resource physmap_flash_res
+@@ -199,11 +199,14 @@ static struct resource physmap_flash_res
  	.name	= "mem",
  	.flags	= IORESOURCE_MEM,
  	.start	= 0x10000000,
@@ -30,4 +19,11 @@
 +	.end	= 0x11ffffff,
  };
  
++static const char *ar7_probe_types[] = { "ar7part", NULL };
++
  static struct physmap_flash_data physmap_flash_data = {
+ 	.width	= 2,
++	.part_probe_types = ar7_probe_types,
+ };
+ 
+ static struct platform_device physmap_flash = {
diff --git a/target/linux/ar7/patches-3.3/320-ac49x-mtd-partitions.patch b/target/linux/ar7/patches-3.3/320-ac49x-mtd-partitions.patch
index 570c45663e8d04237c65346fa210a528b64c1d41..aa2a56b050708997810a47aa6f7f0abc923243ec 100644
--- a/target/linux/ar7/patches-3.3/320-ac49x-mtd-partitions.patch
+++ b/target/linux/ar7/patches-3.3/320-ac49x-mtd-partitions.patch
@@ -1,14 +1,3 @@
---- a/drivers/mtd/maps/physmap.c
-+++ b/drivers/mtd/maps/physmap.c
-@@ -78,7 +78,7 @@ static const char *rom_probe_types[] = {
- 					"map_rom",
- 					NULL };
- static const char *part_probe_types[] = { "cmdlinepart", "RedBoot", "afs",
--					  "ar7part", NULL };
-+					  "ac49xpart", "ar7part", NULL };
- 
- static int physmap_flash_probe(struct platform_device *dev)
- {
 --- a/drivers/mtd/Kconfig
 +++ b/drivers/mtd/Kconfig
 @@ -143,6 +143,11 @@ config MTD_OF_PARTS
@@ -33,3 +22,14 @@
  obj-$(CONFIG_MTD_AFS_PARTS)	+= afs.o
  obj-$(CONFIG_MTD_AR7_PARTS)	+= ar7part.o titanpart.o
  obj-$(CONFIG_MTD_BCM63XX_PARTS)	+= bcm63xxpart.o
+--- a/arch/mips/ar7/platform.c
++++ b/arch/mips/ar7/platform.c
+@@ -202,7 +202,7 @@ static struct resource physmap_flash_res
+ 	.end	= 0x11ffffff,
+ };
+ 
+-static const char *ar7_probe_types[] = { "ar7part", NULL };
++static const char *ar7_probe_types[] = { "ac49xpart", "ar7part", NULL };
+ 
+ static struct physmap_flash_data physmap_flash_data = {
+ 	.width	= 2,
diff --git a/target/linux/ar7/patches-3.3/925-actiontec_leds.patch b/target/linux/ar7/patches-3.3/925-actiontec_leds.patch
index 0203dd01c5f3fe69639c0499ba6dc526066e9dec..f8bc81b5a3ac197dafdf6aba852df713ce3a0189 100644
--- a/target/linux/ar7/patches-3.3/925-actiontec_leds.patch
+++ b/target/linux/ar7/patches-3.3/925-actiontec_leds.patch
@@ -1,6 +1,6 @@
 --- a/arch/mips/ar7/platform.c
 +++ b/arch/mips/ar7/platform.c
-@@ -462,31 +462,22 @@ static struct gpio_led fb_fon_leds[] = {
+@@ -465,31 +465,22 @@ static struct gpio_led fb_fon_leds[] = {
  	},
  };
  
@@ -35,7 +35,7 @@
  		.default_trigger	= "default-on",
  	},
          {
-@@ -494,6 +485,44 @@ static struct gpio_led gt701_leds[] = {
+@@ -497,6 +488,44 @@ static struct gpio_led gt701_leds[] = {
                  .gpio                   = 10,
                  .active_low             = 1,
          },
@@ -80,7 +80,7 @@
  };
  
  static struct gpio_led_platform_data ar7_led_data;
-@@ -537,9 +566,9 @@ static void __init detect_leds(void)
+@@ -540,9 +569,9 @@ static void __init detect_leds(void)
  	} else if (strstr(prid, "CYWM") || strstr(prid, "CYWL")) {
  		ar7_led_data.num_leds = ARRAY_SIZE(titan_leds);
  		ar7_led_data.leds = titan_leds;
diff --git a/target/linux/ar7/patches-3.3/972-cpmac_fixup.patch b/target/linux/ar7/patches-3.3/972-cpmac_fixup.patch
index 456e9b379d0bc339510735570940186cdbbfca42..468c0d8c38e0a9f75e3104f60217ae900e09000d 100644
--- a/target/linux/ar7/patches-3.3/972-cpmac_fixup.patch
+++ b/target/linux/ar7/patches-3.3/972-cpmac_fixup.patch
@@ -1,6 +1,6 @@
 --- a/arch/mips/ar7/platform.c
 +++ b/arch/mips/ar7/platform.c
-@@ -709,26 +709,23 @@ static int __init ar7_register_devices(v
+@@ -712,26 +712,23 @@ static int __init ar7_register_devices(v
  	}
  
  	if (ar7_has_high_cpmac()) {
@@ -40,7 +40,7 @@
  
  	detect_leds();
  	res = platform_device_register(&ar7_gpio_leds);
-@@ -741,8 +738,10 @@ static int __init ar7_register_devices(v
+@@ -744,8 +741,10 @@ static int __init ar7_register_devices(v
  
  	/* Register watchdog only if enabled in hardware */
  	bootcr = ioremap_nocache(AR7_REGS_DCL, 4);
diff --git a/target/linux/ar7/patches-3.6/110-flash.patch b/target/linux/ar7/patches-3.6/110-flash.patch
index 61b6422789fbb4c3b5ce59672aeddeeb216295d0..e42436875bec697813fc1166940abd05c541e367 100644
--- a/target/linux/ar7/patches-3.6/110-flash.patch
+++ b/target/linux/ar7/patches-3.6/110-flash.patch
@@ -1,14 +1,3 @@
---- a/drivers/mtd/maps/physmap.c
-+++ b/drivers/mtd/maps/physmap.c
-@@ -94,7 +94,7 @@ static const char *rom_probe_types[] = {
- 					"map_rom",
- 					NULL };
- static const char *part_probe_types[] = { "cmdlinepart", "RedBoot", "afs",
--					  NULL };
-+					  "ar7part", NULL };
- 
- static int physmap_flash_probe(struct platform_device *dev)
- {
 --- a/drivers/mtd/Makefile
 +++ b/drivers/mtd/Makefile
 @@ -10,7 +10,7 @@ obj-$(CONFIG_MTD_OF_PARTS)	+= ofpart.o
@@ -22,7 +11,7 @@
  
 --- a/arch/mips/ar7/platform.c
 +++ b/arch/mips/ar7/platform.c
-@@ -199,7 +199,7 @@ static struct resource physmap_flash_res
+@@ -199,11 +199,14 @@ static struct resource physmap_flash_res
  	.name	= "mem",
  	.flags	= IORESOURCE_MEM,
  	.start	= 0x10000000,
@@ -30,4 +19,11 @@
 +	.end	= 0x11ffffff,
  };
  
++static const char *ar7_probe_types[] = { "ar7part", NULL };
++
  static struct physmap_flash_data physmap_flash_data = {
+ 	.width	= 2,
++	.part_probe_types = ar7_probe_types,
+ };
+ 
+ static struct platform_device physmap_flash = {
diff --git a/target/linux/ar7/patches-3.6/320-ac49x-mtd-partitions.patch b/target/linux/ar7/patches-3.6/320-ac49x-mtd-partitions.patch
index c2d9b3ffd70a39419bf1f10f249cd2d4e1ebf0f8..aa2a56b050708997810a47aa6f7f0abc923243ec 100644
--- a/target/linux/ar7/patches-3.6/320-ac49x-mtd-partitions.patch
+++ b/target/linux/ar7/patches-3.6/320-ac49x-mtd-partitions.patch
@@ -1,14 +1,3 @@
---- a/drivers/mtd/maps/physmap.c
-+++ b/drivers/mtd/maps/physmap.c
-@@ -94,7 +94,7 @@ static const char *rom_probe_types[] = {
- 					"map_rom",
- 					NULL };
- static const char *part_probe_types[] = { "cmdlinepart", "RedBoot", "afs",
--					  "ar7part", NULL };
-+					  "ac49xpart", "ar7part", NULL };
- 
- static int physmap_flash_probe(struct platform_device *dev)
- {
 --- a/drivers/mtd/Kconfig
 +++ b/drivers/mtd/Kconfig
 @@ -143,6 +143,11 @@ config MTD_OF_PARTS
@@ -33,3 +22,14 @@
  obj-$(CONFIG_MTD_AFS_PARTS)	+= afs.o
  obj-$(CONFIG_MTD_AR7_PARTS)	+= ar7part.o titanpart.o
  obj-$(CONFIG_MTD_BCM63XX_PARTS)	+= bcm63xxpart.o
+--- a/arch/mips/ar7/platform.c
++++ b/arch/mips/ar7/platform.c
+@@ -202,7 +202,7 @@ static struct resource physmap_flash_res
+ 	.end	= 0x11ffffff,
+ };
+ 
+-static const char *ar7_probe_types[] = { "ar7part", NULL };
++static const char *ar7_probe_types[] = { "ac49xpart", "ar7part", NULL };
+ 
+ static struct physmap_flash_data physmap_flash_data = {
+ 	.width	= 2,
diff --git a/target/linux/ar7/patches-3.6/925-actiontec_leds.patch b/target/linux/ar7/patches-3.6/925-actiontec_leds.patch
index 0203dd01c5f3fe69639c0499ba6dc526066e9dec..f8bc81b5a3ac197dafdf6aba852df713ce3a0189 100644
--- a/target/linux/ar7/patches-3.6/925-actiontec_leds.patch
+++ b/target/linux/ar7/patches-3.6/925-actiontec_leds.patch
@@ -1,6 +1,6 @@
 --- a/arch/mips/ar7/platform.c
 +++ b/arch/mips/ar7/platform.c
-@@ -462,31 +462,22 @@ static struct gpio_led fb_fon_leds[] = {
+@@ -465,31 +465,22 @@ static struct gpio_led fb_fon_leds[] = {
  	},
  };
  
@@ -35,7 +35,7 @@
  		.default_trigger	= "default-on",
  	},
          {
-@@ -494,6 +485,44 @@ static struct gpio_led gt701_leds[] = {
+@@ -497,6 +488,44 @@ static struct gpio_led gt701_leds[] = {
                  .gpio                   = 10,
                  .active_low             = 1,
          },
@@ -80,7 +80,7 @@
  };
  
  static struct gpio_led_platform_data ar7_led_data;
-@@ -537,9 +566,9 @@ static void __init detect_leds(void)
+@@ -540,9 +569,9 @@ static void __init detect_leds(void)
  	} else if (strstr(prid, "CYWM") || strstr(prid, "CYWL")) {
  		ar7_led_data.num_leds = ARRAY_SIZE(titan_leds);
  		ar7_led_data.leds = titan_leds;
diff --git a/target/linux/ar7/patches-3.6/972-cpmac_fixup.patch b/target/linux/ar7/patches-3.6/972-cpmac_fixup.patch
index 561ef9947fec629d1b226ff99b5bd27e6bd55b97..b25fc87c7ff62ba2bd02395c72db33496adaeb17 100644
--- a/target/linux/ar7/patches-3.6/972-cpmac_fixup.patch
+++ b/target/linux/ar7/patches-3.6/972-cpmac_fixup.patch
@@ -1,6 +1,6 @@
 --- a/arch/mips/ar7/platform.c
 +++ b/arch/mips/ar7/platform.c
-@@ -709,26 +709,23 @@ static int __init ar7_register_devices(v
+@@ -712,26 +712,23 @@ static int __init ar7_register_devices(v
  	}
  
  	if (ar7_has_high_cpmac()) {
@@ -40,7 +40,7 @@
  
  	detect_leds();
  	res = platform_device_register(&ar7_gpio_leds);
-@@ -741,8 +738,10 @@ static int __init ar7_register_devices(v
+@@ -744,8 +741,10 @@ static int __init ar7_register_devices(v
  
  	/* Register watchdog only if enabled in hardware */
  	bootcr = ioremap_nocache(AR7_REGS_DCL, 4);