--- a/arch/mips/include/asm/war.h
+++ b/arch/mips/include/asm/war.h
@@ -9,7 +9,7 @@
 #ifndef _ASM_WAR_H
 #define _ASM_WAR_H
 
-#include <war.h>
+#include <asm/mach-adm5120/war.h>
 
 /*
  * Work around certain R4000 CPU errata (as implemented by GCC):
--- a/drivers/amba/bus.c
+++ b/drivers/amba/bus.c
@@ -16,7 +16,7 @@
 #include <linux/amba/bus.h>
 
 #include <asm/irq.h>
-#include <asm/sizes.h>
+#include <asm/mach-adm5120/asm/sizes.h>
 
 #ifndef NO_IRQ
 #define NO_IRQ		(-1)
--- a/drivers/watchdog/adm5120_wdt.c
+++ b/drivers/watchdog/adm5120_wdt.c
@@ -166,7 +166,7 @@ static const struct file_operations wdt_
 	.owner		= THIS_MODULE,
 	.llseek		= no_llseek,
 	.write		= wdt_write,
-	.ioctl		= wdt_ioctl,
+	.unlocked_ioctl	= wdt_ioctl,
 	.open		= wdt_open,
 	.release	= wdt_release,
 };
--- a/arch/mips/Kbuild.platforms
+++ b/arch/mips/Kbuild.platforms
@@ -1,5 +1,6 @@
 # All platforms listed in alphabetic order
 
+platforms += adm5120
 platforms += alchemy
 platforms += ar7
 platforms += ath79
--- a/drivers/net/adm5120sw.c
+++ b/drivers/net/adm5120sw.c
@@ -26,6 +26,7 @@
 #include <linux/platform_device.h>
 #include <linux/io.h>
 #include <linux/irq.h>
+#include <asm/mach-adm5120/irq.h>
 
 #include <linux/netdevice.h>
 #include <linux/etherdevice.h>
--- a/arch/mips/adm5120/common/clock.c
+++ b/arch/mips/adm5120/common/clock.c
@@ -33,7 +33,7 @@ static struct clk uart_clk = {
 
 struct clk *clk_get(struct device *dev, const char *id)
 {
-	char *name = dev_name(dev);
+	const char *name = dev_name(dev);
 
 	if (!strcmp(name, "apb:uart0") || !strcmp(name, "apb:uart1"))
 		return &uart_clk;
--- /dev/null
+++ b/arch/mips/adm5120/Platform
@@ -0,0 +1,53 @@
+#
+# Core Infineon/ADMtek ADM5120
+#
+platform-$(CONFIG_ADM5120) += adm5120/common/
+
+#
+# OEM CELLVISION
+#
+platform-$(CONFIG_ADM5120_OEM_CELLVISION)	+= adm5120/cellvision/
+
+#
+# OEM COMPEX
+#
+platform-$(CONFIG_ADM5120_OEM_COMPEX)		+= adm5120/compex/
+
+#
+# OEM EDIMAX
+#
+platform-$(CONFIG_ADM5120_OEM_EDIMAX)		+= adm5120/edimax/
+
+#
+# OEM GENERIC
+#
+platform-$(CONFIG_ADM5120_OEM_GENERIC)		+= adm5120/generic/
+
+#
+# OEM INFINEON
+#
+platform-$(CONFIG_ADM5120_OEM_INFINEON)		+= adm5120/infineon/
+
+#
+# OEM MIKROTIK
+#
+platform-$(CONFIG_ADM5120_OEM_MIKROTIK)		+= adm5120/mikrotik/
+
+#
+# OEM MOTOROLA
+#
+platform-$(CONFIG_ADM5120_OEM_MOTOROLA)		+= adm5120/motorola/
+
+#
+# OEM OSBRIDGE
+#
+platform-$(CONFIG_ADM5120_OEM_OSBRIDGE)		+= adm5120/osbridge/
+
+#
+# OEM ZYXEL
+#
+platform-$(CONFIG_ADM5120_OEM_ZYXEL)		+= adm5120/zyxel/
+
+cflags-$(CONFIG_ADM5120)			+= -I$(srctree)/arch/mips/include/asm/mach-adm5120
+libs-$(CONFIG_ADM5120)				+= arch/mips/adm5120/prom/
+load-$(CONFIG_ADM5120)				+= 0xffffffff80001000