From 7bd72d46a137a00ae4ce56982ce1b93603f9ade8 Mon Sep 17 00:00:00 2001
From: juhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Date: Sat, 5 Jun 2010 18:26:40 +0000
Subject: [PATCH] adm5120: convert to use the new mips multimachine stuff

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@21680 3c298f89-4303-0410-b956-a3cf2f4a3e73
---
 .../arch/mips/adm5120/cellvision/cas-771.c    |   3 +-
 .../arch/mips/adm5120/cellvision/cellvision.c |  17 +-
 .../arch/mips/adm5120/cellvision/nfs-101.c    |   3 +-
 .../files/arch/mips/adm5120/common/setup.c    |   6 +-
 .../files/arch/mips/adm5120/compex/np27g.c    |   2 +-
 .../files/arch/mips/adm5120/compex/np28g.c    |   2 +-
 .../files/arch/mips/adm5120/compex/wp54.c     |   5 +-
 .../files/arch/mips/adm5120/edimax/br-6104k.c |   3 +-
 .../arch/mips/adm5120/edimax/br-6104kp.c      |   3 +-
 .../arch/mips/adm5120/edimax/br-61x4wg.c      |   3 +-
 .../arch/mips/adm5120/infineon/easy5120-rt.c  |   5 +-
 .../mips/adm5120/infineon/easy5120-wvoip.c    |   5 +-
 .../mips/adm5120/infineon/easy5120p-ata.c     |   5 +-
 .../arch/mips/adm5120/infineon/easy83000.c    |   5 +-
 .../files/arch/mips/adm5120/mikrotik/rb-11x.c |   3 +-
 .../files/arch/mips/adm5120/mikrotik/rb-133.c |   3 +-
 .../arch/mips/adm5120/mikrotik/rb-133c.c      |   3 +-
 .../files/arch/mips/adm5120/mikrotik/rb-150.c |   3 +-
 .../files/arch/mips/adm5120/mikrotik/rb-153.c |   3 +-
 .../files/arch/mips/adm5120/mikrotik/rb-192.c |   3 +-
 .../files/arch/mips/adm5120/motorola/pmugw.c  |   5 +-
 .../files/arch/mips/adm5120/osbridge/5gxi.c   |   2 +-
 .../files/arch/mips/adm5120/zyxel/p-334wt.c   |   3 +-
 .../files/arch/mips/adm5120/zyxel/p-335.c     |   3 +-
 .../400-revert-mips-machine-update.patch      | 231 ------------------
 .../400-revert-mips-machine-update.patch      | 231 ------------------
 .../400-revert-mips-machine-update.patch      | 231 ------------------
 .../401-include-slab-h-in-mips_machine.patch  |  11 -
 28 files changed, 55 insertions(+), 747 deletions(-)
 delete mode 100644 target/linux/adm5120/patches-2.6.32/400-revert-mips-machine-update.patch
 delete mode 100644 target/linux/adm5120/patches-2.6.33/400-revert-mips-machine-update.patch
 delete mode 100644 target/linux/adm5120/patches-2.6.34/400-revert-mips-machine-update.patch
 delete mode 100644 target/linux/adm5120/patches-2.6.34/401-include-slab-h-in-mips_machine.patch

diff --git a/target/linux/adm5120/files/arch/mips/adm5120/cellvision/cas-771.c b/target/linux/adm5120/files/arch/mips/adm5120/cellvision/cas-771.c
index 5854f074a..5033e0246 100644
--- a/target/linux/adm5120/files/arch/mips/adm5120/cellvision/cas-771.c
+++ b/target/linux/adm5120/files/arch/mips/adm5120/cellvision/cas-771.c
@@ -33,4 +33,5 @@ static void __init cas771_setup(void)
 	adm5120_pci_set_irq_map(ARRAY_SIZE(cas771_pci_irqs), cas771_pci_irqs);
 }
 
-MIPS_MACHINE(MACH_ADM5120_CAS771, "Cellvision CAS-771/771W", cas771_setup);
+MIPS_MACHINE(MACH_ADM5120_CAS771, "CAS-771", "Cellvision CAS-771/771W",
+	     cas771_setup);
diff --git a/target/linux/adm5120/files/arch/mips/adm5120/cellvision/cellvision.c b/target/linux/adm5120/files/arch/mips/adm5120/cellvision/cellvision.c
index 245a54d50..eceef1312 100644
--- a/target/linux/adm5120/files/arch/mips/adm5120/cellvision/cellvision.c
+++ b/target/linux/adm5120/files/arch/mips/adm5120/cellvision/cellvision.c
@@ -131,8 +131,10 @@ void __init cas6xx_setup(void)
 	adm5120_add_device_switch(1, NULL);
 }
 
-MIPS_MACHINE(MACH_ADM5120_CAS630, "Cellvision CAS-630/630W", cas6xx_setup);
-MIPS_MACHINE(MACH_ADM5120_CAS670, "Cellvision CAS-670/670W", cas6xx_setup);
+MIPS_MACHINE(MACH_ADM5120_CAS630, "CAS-630", "Cellvision CAS-630/630W",
+	     cas6xx_setup);
+MIPS_MACHINE(MACH_ADM5120_CAS670, "CAS-670", "Cellvision CAS-670/670W",
+	     cas6xx_setup);
 
 void __init cas7xx_setup(void)
 {
@@ -143,8 +145,9 @@ void __init cas7xx_setup(void)
 	adm5120_add_device_switch(1, NULL);
 }
 
-#if 0
-MIPS_MACHINE(MACH_ADM5120_CAS700, "Cellvision CAS-700/700W", cas7xx_setup);
-MIPS_MACHINE(MACH_ADM5120_CAS790, "Cellvision CAS-790", cas7xx_setup);
-MIPS_MACHINE(MACH_ADM5120_CAS861, "Cellvision CAS-861/861W", cas7xx_setup);
-#endif
+MIPS_MACHINE(MACH_ADM5120_CAS700, "CAS-700", "Cellvision CAS-700/700W",
+	     cas7xx_setup);
+MIPS_MACHINE(MACH_ADM5120_CAS790, "CAS-790", "Cellvision CAS-790",
+	     cas7xx_setup);
+MIPS_MACHINE(MACH_ADM5120_CAS861, "CAS-861", "Cellvision CAS-861/861W",
+	     cas7xx_setup);
diff --git a/target/linux/adm5120/files/arch/mips/adm5120/cellvision/nfs-101.c b/target/linux/adm5120/files/arch/mips/adm5120/cellvision/nfs-101.c
index 022b9f1b2..7d214c090 100644
--- a/target/linux/adm5120/files/arch/mips/adm5120/cellvision/nfs-101.c
+++ b/target/linux/adm5120/files/arch/mips/adm5120/cellvision/nfs-101.c
@@ -43,4 +43,5 @@ static void __init nfs101_setup(void)
 				nfs101_pci_irqs);
 }
 
-MIPS_MACHINE(MACH_ADM5120_NFS101U, "Cellvision NFS-101U/101WU", nfs101_setup);
+MIPS_MACHINE(MACH_ADM5120_NFS101U, "NFS-101U", "Cellvision NFS-101U/101WU",
+	     nfs101_setup);
diff --git a/target/linux/adm5120/files/arch/mips/adm5120/common/setup.c b/target/linux/adm5120/files/arch/mips/adm5120/common/setup.c
index 843a616bb..41956c8f8 100644
--- a/target/linux/adm5120/files/arch/mips/adm5120/common/setup.c
+++ b/target/linux/adm5120/files/arch/mips/adm5120/common/setup.c
@@ -107,7 +107,7 @@ static int __init adm5120_board_setup(void)
 {
 	adm5120_gpio_init();
 
-	mips_machine_setup(mips_machtype);
+	mips_machine_setup();
 
 	return 0;
 }
@@ -122,5 +122,5 @@ static void __init adm5120_generic_board_setup(void)
 	adm5120_add_device_switch(6, NULL);
 }
 
-MIPS_MACHINE(MACH_ADM5120_GENERIC, "Generic ADM5120 board",
-		adm5120_generic_board_setup);
+MIPS_MACHINE(MACH_ADM5120_GENERIC, "Generic", "Generic ADM5120 board",
+	     adm5120_generic_board_setup);
diff --git a/target/linux/adm5120/files/arch/mips/adm5120/compex/np27g.c b/target/linux/adm5120/files/arch/mips/adm5120/compex/np27g.c
index 8a70bf82c..82da46d1c 100644
--- a/target/linux/adm5120/files/arch/mips/adm5120/compex/np27g.c
+++ b/target/linux/adm5120/files/arch/mips/adm5120/compex/np27g.c
@@ -25,4 +25,4 @@ static void __init np27g_setup(void)
 	/* TODO: add PCI IRQ map */
 }
 
-MIPS_MACHINE(MACH_ADM5120_NP27G, "Compex NetPassage 27G", np27g_setup);
+MIPS_MACHINE(MACH_ADM5120_NP27G, "NP27G", "Compex NetPassage 27G", np27g_setup);
diff --git a/target/linux/adm5120/files/arch/mips/adm5120/compex/np28g.c b/target/linux/adm5120/files/arch/mips/adm5120/compex/np28g.c
index f1f54abad..a54143999 100644
--- a/target/linux/adm5120/files/arch/mips/adm5120/compex/np28g.c
+++ b/target/linux/adm5120/files/arch/mips/adm5120/compex/np28g.c
@@ -60,4 +60,4 @@ static void __init np28g_setup(void)
 	adm5120_pci_set_irq_map(ARRAY_SIZE(np28g_pci_irqs), np28g_pci_irqs);
 }
 
-MIPS_MACHINE(MACH_ADM5120_NP28G, "Compex NetPassage 28G", np28g_setup);
+MIPS_MACHINE(MACH_ADM5120_NP28G, "NP28G", "Compex NetPassage 28G", np28g_setup);
diff --git a/target/linux/adm5120/files/arch/mips/adm5120/compex/wp54.c b/target/linux/adm5120/files/arch/mips/adm5120/compex/wp54.c
index d56656d50..ef7130277 100644
--- a/target/linux/adm5120/files/arch/mips/adm5120/compex/wp54.c
+++ b/target/linux/adm5120/files/arch/mips/adm5120/compex/wp54.c
@@ -79,7 +79,7 @@ static void __init wp54_setup(void)
 	adm5120_pci_set_irq_map(ARRAY_SIZE(wp54_pci_irqs), wp54_pci_irqs);
 }
 
-MIPS_MACHINE(MACH_ADM5120_WP54, "Compex WP54 family", wp54_setup);
+MIPS_MACHINE(MACH_ADM5120_WP54, "WP54", "Compex WP54 family", wp54_setup);
 
 static void __init wp54_wrt_setup(void)
 {
@@ -91,4 +91,5 @@ static void __init wp54_wrt_setup(void)
 	wp54_setup();
 }
 
-MIPS_MACHINE(MACH_ADM5120_WP54G_WRT, "Compex WP54G-WRT", wp54_wrt_setup);
+MIPS_MACHINE(MACH_ADM5120_WP54G_WRT, "WP54G-WRT", "Compex WP54G-WRT",
+	     wp54_wrt_setup);
diff --git a/target/linux/adm5120/files/arch/mips/adm5120/edimax/br-6104k.c b/target/linux/adm5120/files/arch/mips/adm5120/edimax/br-6104k.c
index e5ede5e55..8b2b44550 100644
--- a/target/linux/adm5120/files/arch/mips/adm5120/edimax/br-6104k.c
+++ b/target/linux/adm5120/files/arch/mips/adm5120/edimax/br-6104k.c
@@ -32,4 +32,5 @@ static void __init br6104k_setup(void)
 					br6104k_gpio_leds);
 }
 
-MIPS_MACHINE(MACH_ADM5120_BR6104K, "Edimax BR-6104K", br6104k_setup);
+MIPS_MACHINE(MACH_ADM5120_BR6104K, "BR-6104K", "Edimax BR-6104K",
+	     br6104k_setup);
diff --git a/target/linux/adm5120/files/arch/mips/adm5120/edimax/br-6104kp.c b/target/linux/adm5120/files/arch/mips/adm5120/edimax/br-6104kp.c
index f4e9f6c09..034575d6b 100644
--- a/target/linux/adm5120/files/arch/mips/adm5120/edimax/br-6104kp.c
+++ b/target/linux/adm5120/files/arch/mips/adm5120/edimax/br-6104kp.c
@@ -35,4 +35,5 @@ static void __init br6104kp_setup(void)
 	adm5120_add_device_usb();
 }
 
-MIPS_MACHINE(MACH_ADM5120_BR6104KP, "Edimax BR-6104KP", br6104kp_setup);
+MIPS_MACHINE(MACH_ADM5120_BR6104KP, "BR-6104KP", "Edimax BR-6104KP",
+	     br6104kp_setup);
diff --git a/target/linux/adm5120/files/arch/mips/adm5120/edimax/br-61x4wg.c b/target/linux/adm5120/files/arch/mips/adm5120/edimax/br-61x4wg.c
index b9a208b60..5d5750710 100644
--- a/target/linux/adm5120/files/arch/mips/adm5120/edimax/br-61x4wg.c
+++ b/target/linux/adm5120/files/arch/mips/adm5120/edimax/br-61x4wg.c
@@ -39,4 +39,5 @@ static void __init br61x4wg_setup(void)
 					br61x4wg_pci_irqs);
 }
 
-MIPS_MACHINE(MACH_ADM5120_BR61X4WG, "Edimax BR-6104WG/6114WG", br61x4wg_setup);
+MIPS_MACHINE(MACH_ADM5120_BR61X4WG, "BR-6104WG", "Edimax BR-6104WG/6114WG",
+	     br61x4wg_setup);
diff --git a/target/linux/adm5120/files/arch/mips/adm5120/infineon/easy5120-rt.c b/target/linux/adm5120/files/arch/mips/adm5120/infineon/easy5120-rt.c
index aa01f4e2e..31eaee772 100644
--- a/target/linux/adm5120/files/arch/mips/adm5120/infineon/easy5120-rt.c
+++ b/target/linux/adm5120/files/arch/mips/adm5120/infineon/easy5120-rt.c
@@ -44,6 +44,5 @@ static void __init easy5120_rt_setup(void)
 				easy5120_rt_pci_irqs);
 }
 
-MIPS_MACHINE(MACH_ADM5120_EASY5120RT,
-		"Infineon EASY 5120-RT Reference Board",
-		easy5120_rt_setup);
+MIPS_MACHINE(MACH_ADM5120_EASY5120RT, "EASY5120-RT",
+	     "Infineon EASY 5120-RT Reference Board", easy5120_rt_setup);
diff --git a/target/linux/adm5120/files/arch/mips/adm5120/infineon/easy5120-wvoip.c b/target/linux/adm5120/files/arch/mips/adm5120/infineon/easy5120-wvoip.c
index bf8e15d37..0bf404cc2 100644
--- a/target/linux/adm5120/files/arch/mips/adm5120/infineon/easy5120-wvoip.c
+++ b/target/linux/adm5120/files/arch/mips/adm5120/infineon/easy5120-wvoip.c
@@ -20,6 +20,5 @@ static void __init easy5120wvoip_setup(void)
 	/* TODO: setup PCI IRQ map */
 }
 
-MIPS_MACHINE(MACH_ADM5120_EASY5120WVOIP,
-		"Infineon EASY 5120-WVoIP Reference Board",
-		easy5120wvoip_setup);
+MIPS_MACHINE(MACH_ADM5120_EASY5120WVOIP, "EASY5120WVoIP",
+	     "Infineon EASY 5120-WVoIP Reference Board", easy5120wvoip_setup);
diff --git a/target/linux/adm5120/files/arch/mips/adm5120/infineon/easy5120p-ata.c b/target/linux/adm5120/files/arch/mips/adm5120/infineon/easy5120p-ata.c
index fa9b0aca3..fafe0238b 100644
--- a/target/linux/adm5120/files/arch/mips/adm5120/infineon/easy5120p-ata.c
+++ b/target/linux/adm5120/files/arch/mips/adm5120/infineon/easy5120p-ata.c
@@ -18,6 +18,5 @@ static void __init easy5120pata_setup(void)
 	adm5120_add_device_switch(6, NULL);
 }
 
-MIPS_MACHINE(MACH_ADM5120_EASY5120PATA,
-		"Infineon EASY 5120P-ATA Reference Board",
-		easy5120pata_setup);
+MIPS_MACHINE(MACH_ADM5120_EASY5120PATA, "EASY5120P-ATA",
+	     "Infineon EASY 5120P-ATA Reference Board", easy5120pata_setup);
diff --git a/target/linux/adm5120/files/arch/mips/adm5120/infineon/easy83000.c b/target/linux/adm5120/files/arch/mips/adm5120/infineon/easy83000.c
index 709d0a823..051b85274 100644
--- a/target/linux/adm5120/files/arch/mips/adm5120/infineon/easy83000.c
+++ b/target/linux/adm5120/files/arch/mips/adm5120/infineon/easy83000.c
@@ -19,6 +19,5 @@ static void __init easy83000_setup(void)
 	/* TODO: add VINAX device */
 }
 
-MIPS_MACHINE(MACH_ADM5120_EASY83000,
-		"Infineon EASY 83000 Reference Board",
-		easy83000_setup);
+MIPS_MACHINE(MACH_ADM5120_EASY83000, "EASY8300",
+	     "Infineon EASY 83000 Reference Board", easy83000_setup);
diff --git a/target/linux/adm5120/files/arch/mips/adm5120/mikrotik/rb-11x.c b/target/linux/adm5120/files/arch/mips/adm5120/mikrotik/rb-11x.c
index b74c2ca0c..9adf633df 100644
--- a/target/linux/adm5120/files/arch/mips/adm5120/mikrotik/rb-11x.c
+++ b/target/linux/adm5120/files/arch/mips/adm5120/mikrotik/rb-11x.c
@@ -32,4 +32,5 @@ static void __init rb11x_setup(void)
 					rb11x_gpio_leds);
 }
 
-MIPS_MACHINE(MACH_ADM5120_RB_11X, "Mikrotik RouterBOARD 111/112", rb11x_setup);
+MIPS_MACHINE(MACH_ADM5120_RB_11X, "11x", "Mikrotik RouterBOARD 111/112",
+	     rb11x_setup);
diff --git a/target/linux/adm5120/files/arch/mips/adm5120/mikrotik/rb-133.c b/target/linux/adm5120/files/arch/mips/adm5120/mikrotik/rb-133.c
index 46fcc2433..5045b2b9d 100644
--- a/target/linux/adm5120/files/arch/mips/adm5120/mikrotik/rb-133.c
+++ b/target/linux/adm5120/files/arch/mips/adm5120/mikrotik/rb-133.c
@@ -37,4 +37,5 @@ static void __init rb133_setup(void)
 					rb133_gpio_leds);
 }
 
-MIPS_MACHINE(MACH_ADM5120_RB_133, "Mikrotik RouterBOARD 133", rb133_setup);
+MIPS_MACHINE(MACH_ADM5120_RB_133, "133", "Mikrotik RouterBOARD 133",
+	     rb133_setup);
diff --git a/target/linux/adm5120/files/arch/mips/adm5120/mikrotik/rb-133c.c b/target/linux/adm5120/files/arch/mips/adm5120/mikrotik/rb-133c.c
index 9fcbeb7b9..b5caa485c 100644
--- a/target/linux/adm5120/files/arch/mips/adm5120/mikrotik/rb-133c.c
+++ b/target/linux/adm5120/files/arch/mips/adm5120/mikrotik/rb-133c.c
@@ -33,4 +33,5 @@ static void __init rb133c_setup(void)
 					rb133c_gpio_leds);
 }
 
-MIPS_MACHINE(MACH_ADM5120_RB_133C, "Mikrotik RouterBOARD 133C", rb133c_setup);
+MIPS_MACHINE(MACH_ADM5120_RB_133C, "133C", "Mikrotik RouterBOARD 133C",
+	     rb133c_setup);
diff --git a/target/linux/adm5120/files/arch/mips/adm5120/mikrotik/rb-150.c b/target/linux/adm5120/files/arch/mips/adm5120/mikrotik/rb-150.c
index 8c6caf82f..35d4300d2 100644
--- a/target/linux/adm5120/files/arch/mips/adm5120/mikrotik/rb-150.c
+++ b/target/linux/adm5120/files/arch/mips/adm5120/mikrotik/rb-150.c
@@ -133,4 +133,5 @@ static void __init rb150_setup(void)
 	adm5120_add_device_switch(5, rb150_vlans);
 }
 
-MIPS_MACHINE(MACH_ADM5120_RB_150, "Mikrotik RouterBOARD 150", rb150_setup);
+MIPS_MACHINE(MACH_ADM5120_RB_150, "miniROUTER", "Mikrotik RouterBOARD 150",
+	     rb150_setup);
diff --git a/target/linux/adm5120/files/arch/mips/adm5120/mikrotik/rb-153.c b/target/linux/adm5120/files/arch/mips/adm5120/mikrotik/rb-153.c
index 3b520470a..decf98bb2 100644
--- a/target/linux/adm5120/files/arch/mips/adm5120/mikrotik/rb-153.c
+++ b/target/linux/adm5120/files/arch/mips/adm5120/mikrotik/rb-153.c
@@ -71,4 +71,5 @@ static void __init rb153_setup(void)
 	adm5120_add_device_switch(5, rb153_vlans);
 }
 
-MIPS_MACHINE(MACH_ADM5120_RB_153, "Mikrotik RouterBOARD 153", rb153_setup);
+MIPS_MACHINE(MACH_ADM5120_RB_153, "150", "Mikrotik RouterBOARD 153",
+	     rb153_setup);
diff --git a/target/linux/adm5120/files/arch/mips/adm5120/mikrotik/rb-192.c b/target/linux/adm5120/files/arch/mips/adm5120/mikrotik/rb-192.c
index b9f47d328..8cf8941b7 100644
--- a/target/linux/adm5120/files/arch/mips/adm5120/mikrotik/rb-192.c
+++ b/target/linux/adm5120/files/arch/mips/adm5120/mikrotik/rb-192.c
@@ -24,4 +24,5 @@ static void __init rb192_setup(void)
 	adm5120_add_device_switch(6, rb192_vlans);
 }
 
-MIPS_MACHINE(MACH_ADM5120_RB_192, "Mikrotik RouterBOARD 192", rb192_setup);
+MIPS_MACHINE(MACH_ADM5120_RB_192, "192", "Mikrotik RouterBOARD 192",
+	     rb192_setup);
diff --git a/target/linux/adm5120/files/arch/mips/adm5120/motorola/pmugw.c b/target/linux/adm5120/files/arch/mips/adm5120/motorola/pmugw.c
index d0f141604..1e82bd8d4 100644
--- a/target/linux/adm5120/files/arch/mips/adm5120/motorola/pmugw.c
+++ b/target/linux/adm5120/files/arch/mips/adm5120/motorola/pmugw.c
@@ -96,6 +96,5 @@ void __init pmugw_setup(void)
 	adm5120_add_device_switch(5, pmugw_vlans);
 }
 
-MIPS_MACHINE(MACH_ADM5120_PMUGW,
-		"Motorola Powerline MU Gateway",
-		pmugw_setup);
+MIPS_MACHINE(MACH_ADM5120_PMUGW, "PMUGW", "Motorola Powerline MU Gateway",
+	     pmugw_setup);
diff --git a/target/linux/adm5120/files/arch/mips/adm5120/osbridge/5gxi.c b/target/linux/adm5120/files/arch/mips/adm5120/osbridge/5gxi.c
index 94228b371..0fd449aec 100644
--- a/target/linux/adm5120/files/arch/mips/adm5120/osbridge/5gxi.c
+++ b/target/linux/adm5120/files/arch/mips/adm5120/osbridge/5gxi.c
@@ -71,5 +71,5 @@ static void __init osbridge_5gxi_setup(void)
 				osbridge_5gxi_pci_irqs);
 }
 
-MIPS_MACHINE(MACH_ADM5120_5GXI, "OSBRiDGE 5GXi/5XLi board",
+MIPS_MACHINE(MACH_ADM5120_5GXI, "5GXi", "OSBRiDGE 5GXi/5XLi board",
 	     osbridge_5gxi_setup);
diff --git a/target/linux/adm5120/files/arch/mips/adm5120/zyxel/p-334wt.c b/target/linux/adm5120/files/arch/mips/adm5120/zyxel/p-334wt.c
index c08650db9..c4e4dfec1 100644
--- a/target/linux/adm5120/files/arch/mips/adm5120/zyxel/p-334wt.c
+++ b/target/linux/adm5120/files/arch/mips/adm5120/zyxel/p-334wt.c
@@ -30,4 +30,5 @@ static void __init p334wt_setup(void)
 					p334wt_gpio_leds);
 }
 
-MIPS_MACHINE(MACH_ADM5120_P334WT, "ZyXEL Prestige 334WT", p334wt_setup);
+MIPS_MACHINE(MACH_ADM5120_P334WT, "P-334WT" "ZyXEL Prestige 334WT",
+	     p334wt_setup);
diff --git a/target/linux/adm5120/files/arch/mips/adm5120/zyxel/p-335.c b/target/linux/adm5120/files/arch/mips/adm5120/zyxel/p-335.c
index 0b56e1b77..6ac2b0915 100644
--- a/target/linux/adm5120/files/arch/mips/adm5120/zyxel/p-335.c
+++ b/target/linux/adm5120/files/arch/mips/adm5120/zyxel/p-335.c
@@ -17,4 +17,5 @@ static void __init p335_setup(void)
 	adm5120_add_device_usb();
 }
 
-MIPS_MACHINE(MACH_ADM5120_P335, "ZyXEL Prestige 335/335WT", p335_setup);
+MIPS_MACHINE(MACH_ADM5120_P335, "P-335", "ZyXEL Prestige 335/335WT",
+	     p335_setup);
diff --git a/target/linux/adm5120/patches-2.6.32/400-revert-mips-machine-update.patch b/target/linux/adm5120/patches-2.6.32/400-revert-mips-machine-update.patch
deleted file mode 100644
index ae997ec62..000000000
--- a/target/linux/adm5120/patches-2.6.32/400-revert-mips-machine-update.patch
+++ /dev/null
@@ -1,231 +0,0 @@
---- a/arch/mips/include/asm/mips_machine.h
-+++ b/arch/mips/include/asm/mips_machine.h
-@@ -1,5 +1,5 @@
- /*
-- *  Copyright (C) 2008-2010 Gabor Juhos <juhosg@openwrt.org>
-+ *  Copyright (C) 2008-2009 Gabor Juhos <juhosg@openwrt.org>
-  *
-  *  This program is free software; you can redistribute it and/or modify it
-  *  under the terms of the GNU General Public License version 2 as published
-@@ -13,42 +13,35 @@
- #include <linux/init.h>
- #include <linux/list.h>
- 
--#include <asm/bootinfo.h>
--
- struct mips_machine {
- 	unsigned long		mach_type;
--	const char		*mach_id;
--	const char		*mach_name;
- 	void			(*mach_setup)(void);
-+	char			*mach_name;
-+	struct list_head	list;
- };
- 
--#define MIPS_MACHINE(_type, _id, _name, _setup) 		\
--static const char machine_name_##_type[] __initconst		\
--			__aligned(1) = _name;			\
--static const char machine_id_##_type[] __initconst		\
--			__aligned(1) = _id;			\
--static struct mips_machine machine_##_type			\
--		__used __section(.mips.machines.init) =		\
-+void mips_machine_register(struct mips_machine *) __init;
-+void mips_machine_setup(unsigned long machtype) __init;
-+void mips_machine_set_name(char *name) __init;
-+
-+extern char *mips_machine_name;
-+
-+#define MIPS_MACHINE(_type, _name, _setup) 			\
-+static char machine_name_##_type[] __initdata = _name;		\
-+static struct mips_machine machine_##_type __initdata =		\
- {								\
- 	.mach_type	= _type,				\
--	.mach_id	= machine_id_##_type,			\
- 	.mach_name	= machine_name_##_type,			\
- 	.mach_setup	= _setup,				\
--};
--
--extern long __mips_machines_start;
--extern long __mips_machines_end;
--
--#ifdef CONFIG_MIPS_MACHINE
--int  mips_machtype_setup(char *id) __init;
--void mips_machine_setup(void) __init;
--void mips_set_machine_name(const char *name) __init;
--char *mips_get_machine_name(void);
--#else
--static inline int mips_machtype_setup(char *id) { return 1; }
--static inline void mips_machine_setup(void) { }
--static inline void mips_set_machine_name(const char *name) { }
--static inline char *mips_get_machine_name(void) { return NULL; }
--#endif /* CONFIG_MIPS_MACHINE */
-+};								\
-+								\
-+static int __init register_machine_##_type(void)		\
-+{								\
-+	mips_machine_register(&machine_##_type);		\
-+	return 0;						\
-+}								\
-+								\
-+pure_initcall(register_machine_##_type)
- 
- #endif /* __ASM_MIPS_MACHINE_H */
-+
---- a/arch/mips/kernel/mips_machine.c
-+++ b/arch/mips/kernel/mips_machine.c
-@@ -1,5 +1,5 @@
- /*
-- *  Copyright (C) 2008-2010 Gabor Juhos <juhosg@openwrt.org>
-+ *  Copyright (C) 2008-2009 Gabor Juhos <juhosg@openwrt.org>
-  *
-  *  This program is free software; you can redistribute it and/or modify it
-  *  under the terms of the GNU General Public License version 2 as published
-@@ -7,77 +7,68 @@
-  *
-  */
- #include <linux/mm.h>
--#include <linux/string.h>
--#include <linux/slab.h>
- 
- #include <asm/mips_machine.h>
-+#include <asm/bootinfo.h>
- 
--static struct mips_machine *mips_machine __initdata;
--static char *mips_machine_name = "Unknown";
-+static struct list_head mips_machines __initdata =
-+		LIST_HEAD_INIT(mips_machines);
- 
--#define for_each_machine(mach) \
--	for ((mach) = (struct mips_machine *)&__mips_machines_start; \
--	     (mach) && \
--	     (unsigned long)(mach) < (unsigned long)&__mips_machines_end; \
--	     (mach)++)
-+char *mips_machine_name = "Unknown";
- 
--__init void mips_set_machine_name(const char *name)
-+static struct mips_machine * __init mips_machine_find(unsigned long machtype)
- {
--	char *p;
-+	struct list_head *this;
- 
--	if (name == NULL)
--		return;
-+	list_for_each(this, &mips_machines) {
-+		struct mips_machine *mach;
- 
--	p = kstrdup(name, GFP_KERNEL);
--	if (!p)
--		pr_err("MIPS: no memory for machine_name\n");
-+		mach = list_entry(this, struct mips_machine, list);
-+		if (mach->mach_type == machtype)
-+			return mach;
-+	}
- 
--	mips_machine_name = p;
-+	return NULL;
- }
- 
--char *mips_get_machine_name(void)
-+void __init mips_machine_register(struct mips_machine *mach)
- {
--	return mips_machine_name;
-+	list_add_tail(&mach->list, &mips_machines);
- }
- 
--__init int mips_machtype_setup(char *id)
-+void __init mips_machine_set_name(char *name)
- {
--	struct mips_machine *mach;
-+	unsigned int len;
-+	char *p;
- 
--	for_each_machine(mach) {
--		if (mach->mach_id == NULL)
--			continue;
--
--		if (strcmp(mach->mach_id, id) == 0) {
--			mips_machine = mach;
--			break;
--		}
--	}
-+	if (name == NULL)
-+		return;
- 
--	if (!mips_machine) {
--		pr_err("MIPS: no machine found for id '%s', supported machines:\n",
--		       id);
--		pr_err("%32s %s\n", "id", "name");
--		for_each_machine(mach)
--			pr_err("%32s %s\n", mach->mach_id, mach->mach_name);
--		return 1;
-+	len = strlen(name);
-+	p = kmalloc(len + 1, GFP_KERNEL);
-+	if (p) {
-+		strncpy(p, name, len);
-+		p[len] = '\0';
-+		mips_machine_name = p;
-+	} else {
-+		printk(KERN_WARNING "MIPS: no memory for machine_name\n");
- 	}
--
--	mips_machtype = mips_machine->mach_type;
--
--	return 0;
- }
- 
--__setup("machtype=", mips_machtype_setup);
--
--__init void mips_machine_setup(void)
-+void __init mips_machine_setup(unsigned long machtype)
- {
--	if (!mips_machine)
-+	struct mips_machine *mach;
-+
-+	mach = mips_machine_find(machtype);
-+	if (!mach) {
-+		printk(KERN_ALERT "MIPS: no machine registered for "
-+			"machtype %lu\n", machtype);
- 		return;
-+	}
- 
--	mips_set_machine_name(mips_machine->mach_name);
--	pr_info("MIPS: machine is %s\n", mips_machine_name);
-+	mips_machine_set_name(mach->mach_name);
-+	printk(KERN_INFO "MIPS: machine is %s\n", mips_machine_name);
- 
--	if (mips_machine->mach_setup)
--		mips_machine->mach_setup();
-+	if (mach->mach_setup)
-+		mach->mach_setup();
- }
---- a/arch/mips/kernel/proc.c
-+++ b/arch/mips/kernel/proc.c
-@@ -34,9 +34,9 @@ static int show_cpuinfo(struct seq_file 
- 	 */
- 	if (n == 0) {
- 		seq_printf(m, "system type\t\t: %s\n", get_system_type());
--		if (mips_get_machine_name())
--			seq_printf(m, "machine\t\t\t: %s\n",
--				   mips_get_machine_name());
-+#ifdef CONFIG_MIPS_MACHINE
-+		seq_printf(m, "machine\t\t\t: %s\n", mips_machine_name);
-+#endif
- 	}
- 
- 	seq_printf(m, "processor\t\t: %ld\n", n);
---- a/arch/mips/kernel/vmlinux.lds.S
-+++ b/arch/mips/kernel/vmlinux.lds.S
-@@ -97,13 +97,6 @@ SECTIONS
- 	INIT_TEXT_SECTION(PAGE_SIZE)
- 	INIT_DATA_SECTION(16)
- 
--	. = ALIGN(4);
--	.mips.machines.init : AT(ADDR(.mips.machines.init) - LOAD_OFFSET) {
--		__mips_machines_start = .;
--		*(.mips.machines.init)
--		__mips_machines_end = .;
--	}
--
- 	/* .exit.text is discarded at runtime, not link time, to deal with
- 	 * references from .rodata
- 	 */
diff --git a/target/linux/adm5120/patches-2.6.33/400-revert-mips-machine-update.patch b/target/linux/adm5120/patches-2.6.33/400-revert-mips-machine-update.patch
deleted file mode 100644
index 0eea3691f..000000000
--- a/target/linux/adm5120/patches-2.6.33/400-revert-mips-machine-update.patch
+++ /dev/null
@@ -1,231 +0,0 @@
---- a/arch/mips/include/asm/mips_machine.h
-+++ b/arch/mips/include/asm/mips_machine.h
-@@ -1,5 +1,5 @@
- /*
-- *  Copyright (C) 2008-2010 Gabor Juhos <juhosg@openwrt.org>
-+ *  Copyright (C) 2008-2009 Gabor Juhos <juhosg@openwrt.org>
-  *
-  *  This program is free software; you can redistribute it and/or modify it
-  *  under the terms of the GNU General Public License version 2 as published
-@@ -13,42 +13,35 @@
- #include <linux/init.h>
- #include <linux/list.h>
- 
--#include <asm/bootinfo.h>
--
- struct mips_machine {
- 	unsigned long		mach_type;
--	const char		*mach_id;
--	const char		*mach_name;
- 	void			(*mach_setup)(void);
-+	char			*mach_name;
-+	struct list_head	list;
- };
- 
--#define MIPS_MACHINE(_type, _id, _name, _setup) 		\
--static const char machine_name_##_type[] __initconst		\
--			__aligned(1) = _name;			\
--static const char machine_id_##_type[] __initconst		\
--			__aligned(1) = _id;			\
--static struct mips_machine machine_##_type			\
--		__used __section(.mips.machines.init) =		\
-+void mips_machine_register(struct mips_machine *) __init;
-+void mips_machine_setup(unsigned long machtype) __init;
-+void mips_machine_set_name(char *name) __init;
-+
-+extern char *mips_machine_name;
-+
-+#define MIPS_MACHINE(_type, _name, _setup) 			\
-+static char machine_name_##_type[] __initdata = _name;		\
-+static struct mips_machine machine_##_type __initdata =		\
- {								\
- 	.mach_type	= _type,				\
--	.mach_id	= machine_id_##_type,			\
- 	.mach_name	= machine_name_##_type,			\
- 	.mach_setup	= _setup,				\
--};
--
--extern long __mips_machines_start;
--extern long __mips_machines_end;
--
--#ifdef CONFIG_MIPS_MACHINE
--int  mips_machtype_setup(char *id) __init;
--void mips_machine_setup(void) __init;
--void mips_set_machine_name(const char *name) __init;
--char *mips_get_machine_name(void);
--#else
--static inline int mips_machtype_setup(char *id) { return 1; }
--static inline void mips_machine_setup(void) { }
--static inline void mips_set_machine_name(const char *name) { }
--static inline char *mips_get_machine_name(void) { return NULL; }
--#endif /* CONFIG_MIPS_MACHINE */
-+};								\
-+								\
-+static int __init register_machine_##_type(void)		\
-+{								\
-+	mips_machine_register(&machine_##_type);		\
-+	return 0;						\
-+}								\
-+								\
-+pure_initcall(register_machine_##_type)
- 
- #endif /* __ASM_MIPS_MACHINE_H */
-+
---- a/arch/mips/kernel/mips_machine.c
-+++ b/arch/mips/kernel/mips_machine.c
-@@ -1,5 +1,5 @@
- /*
-- *  Copyright (C) 2008-2010 Gabor Juhos <juhosg@openwrt.org>
-+ *  Copyright (C) 2008-2009 Gabor Juhos <juhosg@openwrt.org>
-  *
-  *  This program is free software; you can redistribute it and/or modify it
-  *  under the terms of the GNU General Public License version 2 as published
-@@ -7,77 +7,68 @@
-  *
-  */
- #include <linux/mm.h>
--#include <linux/string.h>
--#include <linux/slab.h>
- 
- #include <asm/mips_machine.h>
-+#include <asm/bootinfo.h>
- 
--static struct mips_machine *mips_machine __initdata;
--static char *mips_machine_name = "Unknown";
-+static struct list_head mips_machines __initdata =
-+		LIST_HEAD_INIT(mips_machines);
- 
--#define for_each_machine(mach) \
--	for ((mach) = (struct mips_machine *)&__mips_machines_start; \
--	     (mach) && \
--	     (unsigned long)(mach) < (unsigned long)&__mips_machines_end; \
--	     (mach)++)
-+char *mips_machine_name = "Unknown";
- 
--__init void mips_set_machine_name(const char *name)
-+static struct mips_machine * __init mips_machine_find(unsigned long machtype)
- {
--	char *p;
-+	struct list_head *this;
- 
--	if (name == NULL)
--		return;
-+	list_for_each(this, &mips_machines) {
-+		struct mips_machine *mach;
- 
--	p = kstrdup(name, GFP_KERNEL);
--	if (!p)
--		pr_err("MIPS: no memory for machine_name\n");
-+		mach = list_entry(this, struct mips_machine, list);
-+		if (mach->mach_type == machtype)
-+			return mach;
-+	}
- 
--	mips_machine_name = p;
-+	return NULL;
- }
- 
--char *mips_get_machine_name(void)
-+void __init mips_machine_register(struct mips_machine *mach)
- {
--	return mips_machine_name;
-+	list_add_tail(&mach->list, &mips_machines);
- }
- 
--__init int mips_machtype_setup(char *id)
-+void __init mips_machine_set_name(char *name)
- {
--	struct mips_machine *mach;
-+	unsigned int len;
-+	char *p;
- 
--	for_each_machine(mach) {
--		if (mach->mach_id == NULL)
--			continue;
--
--		if (strcmp(mach->mach_id, id) == 0) {
--			mips_machine = mach;
--			break;
--		}
--	}
-+	if (name == NULL)
-+		return;
- 
--	if (!mips_machine) {
--		pr_err("MIPS: no machine found for id '%s', supported machines:\n",
--		       id);
--		pr_err("%32s %s\n", "id", "name");
--		for_each_machine(mach)
--			pr_err("%32s %s\n", mach->mach_id, mach->mach_name);
--		return 1;
-+	len = strlen(name);
-+	p = kmalloc(len + 1, GFP_KERNEL);
-+	if (p) {
-+		strncpy(p, name, len);
-+		p[len] = '\0';
-+		mips_machine_name = p;
-+	} else {
-+		printk(KERN_WARNING "MIPS: no memory for machine_name\n");
- 	}
--
--	mips_machtype = mips_machine->mach_type;
--
--	return 0;
- }
- 
--__setup("machtype=", mips_machtype_setup);
--
--__init void mips_machine_setup(void)
-+void __init mips_machine_setup(unsigned long machtype)
- {
--	if (!mips_machine)
-+	struct mips_machine *mach;
-+
-+	mach = mips_machine_find(machtype);
-+	if (!mach) {
-+		printk(KERN_ALERT "MIPS: no machine registered for "
-+			"machtype %lu\n", machtype);
- 		return;
-+	}
- 
--	mips_set_machine_name(mips_machine->mach_name);
--	pr_info("MIPS: machine is %s\n", mips_machine_name);
-+	mips_machine_set_name(mach->mach_name);
-+	printk(KERN_INFO "MIPS: machine is %s\n", mips_machine_name);
- 
--	if (mips_machine->mach_setup)
--		mips_machine->mach_setup();
-+	if (mach->mach_setup)
-+		mach->mach_setup();
- }
---- a/arch/mips/kernel/proc.c
-+++ b/arch/mips/kernel/proc.c
-@@ -34,9 +34,9 @@ static int show_cpuinfo(struct seq_file 
- 	 */
- 	if (n == 0) {
- 		seq_printf(m, "system type\t\t: %s\n", get_system_type());
--		if (mips_get_machine_name())
--			seq_printf(m, "machine\t\t\t: %s\n",
--				   mips_get_machine_name());
-+#ifdef CONFIG_MIPS_MACHINE
-+		seq_printf(m, "machine\t\t\t: %s\n", mips_machine_name);
-+#endif
- 	}
- 
- 	seq_printf(m, "processor\t\t: %ld\n", n);
---- a/arch/mips/kernel/vmlinux.lds.S
-+++ b/arch/mips/kernel/vmlinux.lds.S
-@@ -98,13 +98,6 @@ SECTIONS
- 	INIT_TEXT_SECTION(PAGE_SIZE)
- 	INIT_DATA_SECTION(16)
- 
--	. = ALIGN(4);
--	.mips.machines.init : AT(ADDR(.mips.machines.init) - LOAD_OFFSET) {
--		__mips_machines_start = .;
--		*(.mips.machines.init)
--		__mips_machines_end = .;
--	}
--
- 	/* .exit.text is discarded at runtime, not link time, to deal with
- 	 * references from .rodata
- 	 */
diff --git a/target/linux/adm5120/patches-2.6.34/400-revert-mips-machine-update.patch b/target/linux/adm5120/patches-2.6.34/400-revert-mips-machine-update.patch
deleted file mode 100644
index 0eea3691f..000000000
--- a/target/linux/adm5120/patches-2.6.34/400-revert-mips-machine-update.patch
+++ /dev/null
@@ -1,231 +0,0 @@
---- a/arch/mips/include/asm/mips_machine.h
-+++ b/arch/mips/include/asm/mips_machine.h
-@@ -1,5 +1,5 @@
- /*
-- *  Copyright (C) 2008-2010 Gabor Juhos <juhosg@openwrt.org>
-+ *  Copyright (C) 2008-2009 Gabor Juhos <juhosg@openwrt.org>
-  *
-  *  This program is free software; you can redistribute it and/or modify it
-  *  under the terms of the GNU General Public License version 2 as published
-@@ -13,42 +13,35 @@
- #include <linux/init.h>
- #include <linux/list.h>
- 
--#include <asm/bootinfo.h>
--
- struct mips_machine {
- 	unsigned long		mach_type;
--	const char		*mach_id;
--	const char		*mach_name;
- 	void			(*mach_setup)(void);
-+	char			*mach_name;
-+	struct list_head	list;
- };
- 
--#define MIPS_MACHINE(_type, _id, _name, _setup) 		\
--static const char machine_name_##_type[] __initconst		\
--			__aligned(1) = _name;			\
--static const char machine_id_##_type[] __initconst		\
--			__aligned(1) = _id;			\
--static struct mips_machine machine_##_type			\
--		__used __section(.mips.machines.init) =		\
-+void mips_machine_register(struct mips_machine *) __init;
-+void mips_machine_setup(unsigned long machtype) __init;
-+void mips_machine_set_name(char *name) __init;
-+
-+extern char *mips_machine_name;
-+
-+#define MIPS_MACHINE(_type, _name, _setup) 			\
-+static char machine_name_##_type[] __initdata = _name;		\
-+static struct mips_machine machine_##_type __initdata =		\
- {								\
- 	.mach_type	= _type,				\
--	.mach_id	= machine_id_##_type,			\
- 	.mach_name	= machine_name_##_type,			\
- 	.mach_setup	= _setup,				\
--};
--
--extern long __mips_machines_start;
--extern long __mips_machines_end;
--
--#ifdef CONFIG_MIPS_MACHINE
--int  mips_machtype_setup(char *id) __init;
--void mips_machine_setup(void) __init;
--void mips_set_machine_name(const char *name) __init;
--char *mips_get_machine_name(void);
--#else
--static inline int mips_machtype_setup(char *id) { return 1; }
--static inline void mips_machine_setup(void) { }
--static inline void mips_set_machine_name(const char *name) { }
--static inline char *mips_get_machine_name(void) { return NULL; }
--#endif /* CONFIG_MIPS_MACHINE */
-+};								\
-+								\
-+static int __init register_machine_##_type(void)		\
-+{								\
-+	mips_machine_register(&machine_##_type);		\
-+	return 0;						\
-+}								\
-+								\
-+pure_initcall(register_machine_##_type)
- 
- #endif /* __ASM_MIPS_MACHINE_H */
-+
---- a/arch/mips/kernel/mips_machine.c
-+++ b/arch/mips/kernel/mips_machine.c
-@@ -1,5 +1,5 @@
- /*
-- *  Copyright (C) 2008-2010 Gabor Juhos <juhosg@openwrt.org>
-+ *  Copyright (C) 2008-2009 Gabor Juhos <juhosg@openwrt.org>
-  *
-  *  This program is free software; you can redistribute it and/or modify it
-  *  under the terms of the GNU General Public License version 2 as published
-@@ -7,77 +7,68 @@
-  *
-  */
- #include <linux/mm.h>
--#include <linux/string.h>
--#include <linux/slab.h>
- 
- #include <asm/mips_machine.h>
-+#include <asm/bootinfo.h>
- 
--static struct mips_machine *mips_machine __initdata;
--static char *mips_machine_name = "Unknown";
-+static struct list_head mips_machines __initdata =
-+		LIST_HEAD_INIT(mips_machines);
- 
--#define for_each_machine(mach) \
--	for ((mach) = (struct mips_machine *)&__mips_machines_start; \
--	     (mach) && \
--	     (unsigned long)(mach) < (unsigned long)&__mips_machines_end; \
--	     (mach)++)
-+char *mips_machine_name = "Unknown";
- 
--__init void mips_set_machine_name(const char *name)
-+static struct mips_machine * __init mips_machine_find(unsigned long machtype)
- {
--	char *p;
-+	struct list_head *this;
- 
--	if (name == NULL)
--		return;
-+	list_for_each(this, &mips_machines) {
-+		struct mips_machine *mach;
- 
--	p = kstrdup(name, GFP_KERNEL);
--	if (!p)
--		pr_err("MIPS: no memory for machine_name\n");
-+		mach = list_entry(this, struct mips_machine, list);
-+		if (mach->mach_type == machtype)
-+			return mach;
-+	}
- 
--	mips_machine_name = p;
-+	return NULL;
- }
- 
--char *mips_get_machine_name(void)
-+void __init mips_machine_register(struct mips_machine *mach)
- {
--	return mips_machine_name;
-+	list_add_tail(&mach->list, &mips_machines);
- }
- 
--__init int mips_machtype_setup(char *id)
-+void __init mips_machine_set_name(char *name)
- {
--	struct mips_machine *mach;
-+	unsigned int len;
-+	char *p;
- 
--	for_each_machine(mach) {
--		if (mach->mach_id == NULL)
--			continue;
--
--		if (strcmp(mach->mach_id, id) == 0) {
--			mips_machine = mach;
--			break;
--		}
--	}
-+	if (name == NULL)
-+		return;
- 
--	if (!mips_machine) {
--		pr_err("MIPS: no machine found for id '%s', supported machines:\n",
--		       id);
--		pr_err("%32s %s\n", "id", "name");
--		for_each_machine(mach)
--			pr_err("%32s %s\n", mach->mach_id, mach->mach_name);
--		return 1;
-+	len = strlen(name);
-+	p = kmalloc(len + 1, GFP_KERNEL);
-+	if (p) {
-+		strncpy(p, name, len);
-+		p[len] = '\0';
-+		mips_machine_name = p;
-+	} else {
-+		printk(KERN_WARNING "MIPS: no memory for machine_name\n");
- 	}
--
--	mips_machtype = mips_machine->mach_type;
--
--	return 0;
- }
- 
--__setup("machtype=", mips_machtype_setup);
--
--__init void mips_machine_setup(void)
-+void __init mips_machine_setup(unsigned long machtype)
- {
--	if (!mips_machine)
-+	struct mips_machine *mach;
-+
-+	mach = mips_machine_find(machtype);
-+	if (!mach) {
-+		printk(KERN_ALERT "MIPS: no machine registered for "
-+			"machtype %lu\n", machtype);
- 		return;
-+	}
- 
--	mips_set_machine_name(mips_machine->mach_name);
--	pr_info("MIPS: machine is %s\n", mips_machine_name);
-+	mips_machine_set_name(mach->mach_name);
-+	printk(KERN_INFO "MIPS: machine is %s\n", mips_machine_name);
- 
--	if (mips_machine->mach_setup)
--		mips_machine->mach_setup();
-+	if (mach->mach_setup)
-+		mach->mach_setup();
- }
---- a/arch/mips/kernel/proc.c
-+++ b/arch/mips/kernel/proc.c
-@@ -34,9 +34,9 @@ static int show_cpuinfo(struct seq_file 
- 	 */
- 	if (n == 0) {
- 		seq_printf(m, "system type\t\t: %s\n", get_system_type());
--		if (mips_get_machine_name())
--			seq_printf(m, "machine\t\t\t: %s\n",
--				   mips_get_machine_name());
-+#ifdef CONFIG_MIPS_MACHINE
-+		seq_printf(m, "machine\t\t\t: %s\n", mips_machine_name);
-+#endif
- 	}
- 
- 	seq_printf(m, "processor\t\t: %ld\n", n);
---- a/arch/mips/kernel/vmlinux.lds.S
-+++ b/arch/mips/kernel/vmlinux.lds.S
-@@ -98,13 +98,6 @@ SECTIONS
- 	INIT_TEXT_SECTION(PAGE_SIZE)
- 	INIT_DATA_SECTION(16)
- 
--	. = ALIGN(4);
--	.mips.machines.init : AT(ADDR(.mips.machines.init) - LOAD_OFFSET) {
--		__mips_machines_start = .;
--		*(.mips.machines.init)
--		__mips_machines_end = .;
--	}
--
- 	/* .exit.text is discarded at runtime, not link time, to deal with
- 	 * references from .rodata
- 	 */
diff --git a/target/linux/adm5120/patches-2.6.34/401-include-slab-h-in-mips_machine.patch b/target/linux/adm5120/patches-2.6.34/401-include-slab-h-in-mips_machine.patch
deleted file mode 100644
index fa466a760..000000000
--- a/target/linux/adm5120/patches-2.6.34/401-include-slab-h-in-mips_machine.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/arch/mips/kernel/mips_machine.c
-+++ b/arch/mips/kernel/mips_machine.c
-@@ -6,7 +6,7 @@
-  *  by the Free Software Foundation.
-  *
-  */
--#include <linux/mm.h>
-+#include <linux/slab.h>
- 
- #include <asm/mips_machine.h>
- #include <asm/bootinfo.h>
-- 
2.20.1