+# .S.o:
+# $(CC) $(CFLAGS) -c $< -o $*.o
+
-+obj-y := prom.o setup.o idtIRQ.o irq.o time.o flash_lock.o
++obj-y := prom.o setup.o irq.o time.o flash_lock.o
+obj-$(CONFIG_SERIAL_8250) += serial.o
+
+subdir-y += nvram
diff -Nur linux-2.6.17/arch/mips/aruba/prom.c linux-2.6.17-owrt/arch/mips/aruba/prom.c
--- linux-2.6.17/arch/mips/aruba/prom.c 1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.17-owrt/arch/mips/aruba/prom.c 2006-06-18 12:44:28.000000000 +0200
-@@ -0,0 +1,111 @@
+@@ -0,0 +1,114 @@
+/**************************************************************************
+ *
+ * BRIEF MODULE DESCRIPTION
+ **************************************************************************
+ */
+
-+#include <linux/config.h>
++#include <linux/autoconf.h>
+#include <linux/init.h>
+#include <linux/mm.h>
+#include <linux/module.h>
+unsigned int arch_has_pci=0;
+
+/* Kernel Boot parameters */
-+static unsigned char bootparm[] = "console=ttyS0,9600 root=/dev/mtdblock1 rootfstype=jffs2";
++static unsigned char bootparm[] =
++ "init=/etc/preinit noinitrd "
++ "mtdparts=physmap-flash.0:3520k@0x080000(kernel),2752k@0x140000(rootfs),8k@0x3f8000(NVRAM) "
++ "console=ttyS0,9600 root=/dev/mtdblock1 rootfstype=squashfs,jffs2 ";
+
+extern unsigned long mips_machgroup;
+extern unsigned long mips_machtype;
+ */
+
+
-+#include <linux/config.h>
++#include <linux/autoconf.h>
+#include <linux/init.h>
+#include <linux/sched.h>
+#include <linux/pci.h>
diff -Nur linux-2.6.17/arch/mips/aruba/setup.c linux-2.6.17-owrt/arch/mips/aruba/setup.c
--- linux-2.6.17/arch/mips/aruba/setup.c 1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.17-owrt/arch/mips/aruba/setup.c 2006-06-18 12:44:28.000000000 +0200
-@@ -0,0 +1,134 @@
+@@ -0,0 +1,128 @@
+/**************************************************************************
+ *
+ * BRIEF MODULE DESCRIPTION
+extern char *__init prom_getcmdline(void);
+
+extern void (*board_time_init) (void);
-+extern void (*board_timer_setup) (struct irqaction * irq);
+extern void aruba_time_init(void);
-+extern void aruba_timer_setup(struct irqaction *irq);
+extern void aruba_reset(void);
+
+#define epldMask ((volatile unsigned char *)0xB900000d)
+extern char * getenv(char *e);
+extern void unlock_ap60_70_flash(void);
+
-+void __init plat_setup(void)
++void __init plat_mem_setup(void)
+{
+ board_time_init = aruba_time_init;
+
-+ board_timer_setup = aruba_timer_setup;
-+
+ _machine_restart = aruba_machine_restart;
+ _machine_halt = aruba_machine_halt;
+ pm_power_off = aruba_machine_halt;
+ unlock_ap60_70_flash();
+
+ printk("BOARD - %s\n",getenv("boardname"));
-+
-+ return 0;
+}
+
+int page_is_ram(unsigned long pagenr)
diff -Nur linux-2.6.17/arch/mips/aruba/time.c linux-2.6.17-owrt/arch/mips/aruba/time.c
--- linux-2.6.17/arch/mips/aruba/time.c 1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.17-owrt/arch/mips/aruba/time.c 2006-06-18 12:44:28.000000000 +0200
-@@ -0,0 +1,108 @@
+@@ -0,0 +1,110 @@
+/**************************************************************************
+ *
+ * BRIEF MODULE DESCRIPTION
+ **************************************************************************
+ */
+
-+#include <linux/config.h>
++#include <linux/autoconf.h>
+#include <linux/init.h>
+#include <linux/kernel_stat.h>
+#include <linux/sched.h>
+
+}
+
-+void __init aruba_timer_setup(struct irqaction *irq)
++void __init plat_timer_setup(struct irqaction *irq)
+{
+ /* we are using the cpu counter for timer interrupts */
+ setup_irq(MIPS_CPU_TIMER_IRQ, irq);
+
+}
+
-+asmlinkage void aruba_timer_interrupt(int irq, struct pt_regs *regs)
++asmlinkage void aruba_timer_interrupt(struct pt_regs *regs)
+{
++ int irq = MIPS_CPU_TIMER_IRQ;
++
+ irq_enter();
+ kstat_this_cpu.irqs[irq]++;
+
-+ timer_interrupt(irq, NULL, regs);
++ timer_interrupt(irq, NULL);
+ irq_exit();
+}
diff -Nur linux-2.6.17/arch/mips/Kconfig linux-2.6.17-owrt/arch/mips/Kconfig
# Acer PICA 61, Mips Magnum 4000 and Olivetti M700.
#
core-$(CONFIG_MACH_JAZZ) += arch/mips/jazz/
-diff -Nur linux-2.6.17/arch/mips/mm/tlbex.c linux-2.6.17-owrt/arch/mips/mm/tlbex.c
---- linux-2.6.17/arch/mips/mm/tlbex.c 2006-06-18 03:49:35.000000000 +0200
-+++ linux-2.6.17-owrt/arch/mips/mm/tlbex.c 2006-06-18 12:48:27.000000000 +0200
-@@ -876,7 +876,6 @@
- case CPU_R10000:
- case CPU_R12000:
- case CPU_R14000:
-- case CPU_4KC:
- case CPU_SB1:
- case CPU_SB1A:
- case CPU_4KSC:
-@@ -904,6 +903,7 @@
- tlbw(p);
- break;
-
-+ case CPU_4KC:
- case CPU_4KEC:
- case CPU_24K:
- case CPU_34K:
diff -Nur linux-2.6.17/drivers/net/Kconfig linux-2.6.17-owrt/drivers/net/Kconfig
--- linux-2.6.17/drivers/net/Kconfig 2006-06-18 03:49:35.000000000 +0200
+++ linux-2.6.17-owrt/drivers/net/Kconfig 2006-06-18 12:44:28.000000000 +0200
diff -Nur linux-2.6.17/drivers/net/rc32434_eth.c linux-2.6.17-owrt/drivers/net/rc32434_eth.c
--- linux-2.6.17/drivers/net/rc32434_eth.c 1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.17-owrt/drivers/net/rc32434_eth.c 2006-06-18 12:44:28.000000000 +0200
-@@ -0,0 +1,1268 @@
+@@ -0,0 +1,1273 @@
+/**************************************************************************
+ *
+ * BRIEF MODULE DESCRIPTION
+ **************************************************************************
+ */
+
-+#include <linux/config.h>
++#include <linux/autoconf.h>
++#include <linux/version.h>
+#include <linux/module.h>
+#include <linux/kernel.h>
+#include <linux/moduleparam.h>
+#define MII_CLOCK 1250000 /* no more than 2.5MHz */
+static char mac0[18] = "08:00:06:05:40:01";
+
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,5,52)
++module_param_string(mac0, mac0, 18, 0);
++#else
+MODULE_PARM(mac0, "c18");
++#endif
+MODULE_PARM_DESC(mac0, "MAC address for RC32434 ethernet0");
+
+static struct rc32434_if_t {
+#ifdef RC32434_REVISION
+/* Ethernet Rx Overflow interrupt */
+static irqreturn_t
-+rc32434_ovr_interrupt(int irq, void *dev_id, struct pt_regs * regs)
++rc32434_ovr_interrupt(int irq, void *dev_id)
+{
+ struct net_device *dev = (struct net_device *)dev_id;
+ struct rc32434_local *lp;
+
+/* Ethernet Tx Underflow interrupt */
+static irqreturn_t
-+rc32434_und_interrupt(int irq, void *dev_id, struct pt_regs * regs)
++rc32434_und_interrupt(int irq, void *dev_id)
+{
+ struct net_device *dev = (struct net_device *)dev_id;
+ struct rc32434_local *lp;
+
+/* Ethernet Rx DMA interrupt */
+static irqreturn_t
-+rc32434_rx_dma_interrupt(int irq, void *dev_id, struct pt_regs * regs)
++rc32434_rx_dma_interrupt(int irq, void *dev_id)
+{
+ struct net_device *dev = (struct net_device *)dev_id;
+ struct rc32434_local* lp;
+
+/* Ethernet Tx DMA interrupt */
+static irqreturn_t
-+rc32434_tx_dma_interrupt(int irq, void *dev_id, struct pt_regs * regs)
++rc32434_tx_dma_interrupt(int irq, void *dev_id)
+{
+ struct net_device *dev = (struct net_device *)dev_id;
+ struct rc32434_local *lp;
+static int rc32434_open(struct net_device *dev);
+static int rc32434_send_packet(struct sk_buff *skb, struct net_device *dev);
+static void rc32434_mii_handler(unsigned long data);
-+static irqreturn_t rc32434_und_interrupt(int irq, void *dev_id, struct pt_regs * regs);
-+static irqreturn_t rc32434_rx_dma_interrupt(int irq, void *dev_id, struct pt_regs * regs);
-+static irqreturn_t rc32434_tx_dma_interrupt(int irq, void *dev_id, struct pt_regs * regs);
++static irqreturn_t rc32434_und_interrupt(int irq, void *dev_id);
++static irqreturn_t rc32434_rx_dma_interrupt(int irq, void *dev_id);
++static irqreturn_t rc32434_tx_dma_interrupt(int irq, void *dev_id);
+#ifdef RC32434_REVISION
-+static irqreturn_t rc32434_ovr_interrupt(int irq, void *dev_id, struct pt_regs * regs);
++static irqreturn_t rc32434_ovr_interrupt(int irq, void *dev_id);
+#endif
+static int rc32434_close(struct net_device *dev);
+static struct net_device_stats *rc32434_get_stats(struct net_device *dev);
+#ifndef _RC32434_H_
+#define _RC32434_H_
+
-+#include <linux/config.h>
++#include <linux/autoconf.h>
+#include <linux/delay.h>
+#include <asm/io.h>
+#include <asm/idt-boards/rc32434/rc32434_timer.h>
+
+#ifndef __IDT_RC32438_H__
+#define __IDT_RC32438_H__
-+#include <linux/config.h>
++#include <linux/autoconf.h>
+#include <linux/delay.h>
+#include <asm/io.h>
+#include <asm/idt-boards/rc32438/rc32438_timer.h>