+# .S.o:
+# $(CC) $(CFLAGS) -c $< -o $*.o
+
-+obj-y := prom.o setup.o idtIRQ.o irq.o time.o flash_lock.o wdt_merlot.o
++obj-y := prom.o setup.o idtIRQ.o irq.o time.o flash_lock.o
+obj-$(CONFIG_SERIAL_8250) += serial.o
+
+subdir-y += nvram
+ */
+
+#include <linux/init.h>
++#include <linux/module.h>
+#include <linux/mm.h>
+#include <linux/sched.h>
+#include <linux/irq.h>
+
+extern char * getenv(char *e);
+extern void unlock_ap60_70_flash(void);
-+extern void wdt_merlot_disable(void);
+
+void __init plat_setup(void)
+{
+
+ printk("BOARD - %s\n",getenv("boardname"));
+
-+ wdt_merlot_disable();
-+
+ return 0;
+}
+
+{
+ return "MIPS IDT32434 - ARUBA";
+}
++
++EXPORT_SYMBOL(get_system_type);
diff -Nur linux-2.6.16/arch/mips/aruba/time.c linux-2.6.16-owrt/arch/mips/aruba/time.c
--- linux-2.6.16/arch/mips/aruba/time.c 1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.16-owrt/arch/mips/aruba/time.c 2006-03-20 14:25:10.000000000 +0100
+ timer_interrupt(irq, NULL, regs);
+ irq_exit();
+}
-diff -Nur linux-2.6.16/arch/mips/aruba/wdt_merlot.c linux-2.6.16-owrt/arch/mips/aruba/wdt_merlot.c
---- linux-2.6.16/arch/mips/aruba/wdt_merlot.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.16-owrt/arch/mips/aruba/wdt_merlot.c 2006-03-20 14:25:10.000000000 +0100
-@@ -0,0 +1,30 @@
-+#include <linux/config.h>
-+#include <linux/kernel.h>
-+#include <asm/bootinfo.h>
-+
-+void wdt_merlot_disable()
-+{
-+ volatile __u32 *wdt_errcs;
-+ volatile __u32 *wdt_wtc;
-+ volatile __u32 *wdt_ctl;
-+ volatile __u32 val;
-+
-+ switch (mips_machtype) {
-+ case MACH_ARUBA_AP70:
-+ wdt_errcs = (__u32 *) 0xb8030030;
-+ wdt_wtc = (__u32 *) 0xb803003c;
-+ val = *wdt_errcs;
-+ val &= ~0x201;
-+ *wdt_errcs = val;
-+ val = *wdt_wtc;
-+ val &= ~0x1;
-+ *wdt_wtc = val;
-+ break;
-+ case MACH_ARUBA_AP65:
-+ case MACH_ARUBA_AP60:
-+ default:
-+ wdt_ctl = (__u32 *) 0xbc003008;
-+ *wdt_ctl = 0;
-+ break;
-+ }
-+}
diff -Nur linux-2.6.16/arch/mips/Kconfig linux-2.6.16-owrt/arch/mips/Kconfig
--- linux-2.6.16/arch/mips/Kconfig 2006-03-20 06:53:29.000000000 +0100
+++ linux-2.6.16-owrt/arch/mips/Kconfig 2006-03-20 14:25:10.000000000 +0100
+#define NR_IRQS 256
#endif /* __ASM_MACH_GENERIC_IRQ_H */
-diff -Nur linux-2.6.16/include/linux/init.h linux-2.6.16-owrt/include/linux/init.h
---- linux-2.6.16/include/linux/init.h 2006-03-20 06:53:29.000000000 +0100
-+++ linux-2.6.16-owrt/include/linux/init.h 2006-03-20 14:25:10.000000000 +0100
-@@ -86,6 +86,8 @@
- static initcall_t __initcall_##fn __attribute_used__ \
- __attribute__((__section__(".initcall" level ".init"))) = fn
-
-+#define early_initcall(fn) __define_initcall(".early1",fn)
-+
- #define core_initcall(fn) __define_initcall("1",fn)
- #define postcore_initcall(fn) __define_initcall("2",fn)
- #define arch_initcall(fn) __define_initcall("3",fn)
diff -Nur linux-2.6.16/include/linux/kernel.h linux-2.6.16-owrt/include/linux/kernel.h
--- linux-2.6.16/include/linux/kernel.h 2006-03-20 06:53:29.000000000 +0100
+++ linux-2.6.16-owrt/include/linux/kernel.h 2006-03-20 14:25:10.000000000 +0100