kernel has gotten too big; move kernel/jffs2 boundary
[openwrt.git] / target / linux / aruba-2.6 / patches / 000-aruba.patch
index dda15ed..b695239 100644 (file)
@@ -1,6 +1,6 @@
-diff -Nur linux-2.6.15/arch/mips/aruba/Makefile linux-2.6.15-openwrt/arch/mips/aruba/Makefile
---- linux-2.6.15/arch/mips/aruba/Makefile      1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.15-openwrt/arch/mips/aruba/Makefile      2006-01-10 00:32:32.000000000 +0100
+diff -Nur linux-2.6.17/arch/mips/aruba/Makefile linux-2.6.17-owrt/arch/mips/aruba/Makefile
+--- linux-2.6.17/arch/mips/aruba/Makefile      1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.17-owrt/arch/mips/aruba/Makefile 2006-06-18 12:44:28.000000000 +0200
 @@ -0,0 +1,49 @@
 +###############################################################################
 +#
@@ -45,15 +45,15 @@ diff -Nur linux-2.6.15/arch/mips/aruba/Makefile linux-2.6.15-openwrt/arch/mips/a
 +# .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 irq.o time.o flash_lock.o
 +obj-$(CONFIG_SERIAL_8250)             += serial.o
 +
 +subdir-y         += nvram
 +obj-y            += nvram/built-in.o
 +
-diff -Nur linux-2.6.15/arch/mips/aruba/nvram/Makefile linux-2.6.15-openwrt/arch/mips/aruba/nvram/Makefile
---- linux-2.6.15/arch/mips/aruba/nvram/Makefile        1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.15-openwrt/arch/mips/aruba/nvram/Makefile        2006-01-10 00:32:32.000000000 +0100
+diff -Nur linux-2.6.17/arch/mips/aruba/nvram/Makefile linux-2.6.17-owrt/arch/mips/aruba/nvram/Makefile
+--- linux-2.6.17/arch/mips/aruba/nvram/Makefile        1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.17-owrt/arch/mips/aruba/nvram/Makefile   2006-06-18 12:44:28.000000000 +0200
 @@ -0,0 +1,46 @@
 +###############################################################################
 +#
@@ -101,9 +101,9 @@ diff -Nur linux-2.6.15/arch/mips/aruba/nvram/Makefile linux-2.6.15-openwrt/arch/
 +
 +
 +
-diff -Nur linux-2.6.15/arch/mips/aruba/nvram/nvram434.c linux-2.6.15-openwrt/arch/mips/aruba/nvram/nvram434.c
---- linux-2.6.15/arch/mips/aruba/nvram/nvram434.c      1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.15-openwrt/arch/mips/aruba/nvram/nvram434.c      2006-01-10 00:32:32.000000000 +0100
+diff -Nur linux-2.6.17/arch/mips/aruba/nvram/nvram434.c linux-2.6.17-owrt/arch/mips/aruba/nvram/nvram434.c
+--- linux-2.6.17/arch/mips/aruba/nvram/nvram434.c      1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.17-owrt/arch/mips/aruba/nvram/nvram434.c 2006-06-18 12:44:28.000000000 +0200
 @@ -0,0 +1,392 @@
 +/**************************************************************************
 + *
@@ -497,9 +497,9 @@ diff -Nur linux-2.6.15/arch/mips/aruba/nvram/nvram434.c linux-2.6.15-openwrt/arc
 +{
 +  nvram_mapenv(func);
 +}
-diff -Nur linux-2.6.15/arch/mips/aruba/nvram/nvram434.h linux-2.6.15-openwrt/arch/mips/aruba/nvram/nvram434.h
---- linux-2.6.15/arch/mips/aruba/nvram/nvram434.h      1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.15-openwrt/arch/mips/aruba/nvram/nvram434.h      2006-01-10 00:32:32.000000000 +0100
+diff -Nur linux-2.6.17/arch/mips/aruba/nvram/nvram434.h linux-2.6.17-owrt/arch/mips/aruba/nvram/nvram434.h
+--- linux-2.6.17/arch/mips/aruba/nvram/nvram434.h      1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.17-owrt/arch/mips/aruba/nvram/nvram434.h 2006-06-18 12:44:28.000000000 +0200
 @@ -0,0 +1,66 @@
 +/**************************************************************************
 + *
@@ -567,10 +567,10 @@ diff -Nur linux-2.6.15/arch/mips/aruba/nvram/nvram434.h linux-2.6.15-openwrt/arc
 +#endif /* _NVRAM_ */
 +
 +
-diff -Nur linux-2.6.15/arch/mips/aruba/prom.c linux-2.6.15-openwrt/arch/mips/aruba/prom.c
---- linux-2.6.15/arch/mips/aruba/prom.c        1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.15-openwrt/arch/mips/aruba/prom.c        2006-01-10 00:32:32.000000000 +0100
-@@ -0,0 +1,111 @@
+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,114 @@
 +/**************************************************************************
 + *
 + *  BRIEF MODULE DESCRIPTION
@@ -609,7 +609,7 @@ diff -Nur linux-2.6.15/arch/mips/aruba/prom.c linux-2.6.15-openwrt/arch/mips/aru
 + **************************************************************************
 + */
 +
-+#include <linux/config.h>
++#include <linux/autoconf.h>
 +#include <linux/init.h>
 +#include <linux/mm.h>
 +#include <linux/module.h>
@@ -629,7 +629,10 @@ diff -Nur linux-2.6.15/arch/mips/aruba/prom.c linux-2.6.15-openwrt/arch/mips/aru
 +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[] = 
++      "mtdparts=physmap-flash.0:3648k@0x080000(zImage),2752k@0x140000(JFFS2),8k@0x3f8000(NVRAM) "
++      "console=ttyS0,9600 root=/dev/mtdblock1 rootfstype=jffs2 ";
++
 +
 +extern unsigned long mips_machgroup;
 +extern unsigned long mips_machtype;
@@ -682,9 +685,9 @@ diff -Nur linux-2.6.15/arch/mips/aruba/prom.c linux-2.6.15-openwrt/arch/mips/aru
 +{
 +      printk("stubbed prom_free_prom_memory()\n");
 +}
-diff -Nur linux-2.6.15/arch/mips/aruba/serial.c linux-2.6.15-openwrt/arch/mips/aruba/serial.c
---- linux-2.6.15/arch/mips/aruba/serial.c      1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.15-openwrt/arch/mips/aruba/serial.c      2006-01-10 00:32:32.000000000 +0100
+diff -Nur linux-2.6.17/arch/mips/aruba/serial.c linux-2.6.17-owrt/arch/mips/aruba/serial.c
+--- linux-2.6.17/arch/mips/aruba/serial.c      1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.17-owrt/arch/mips/aruba/serial.c 2006-06-18 12:44:28.000000000 +0200
 @@ -0,0 +1,94 @@
 +/**************************************************************************
 + *
@@ -725,7 +728,7 @@ diff -Nur linux-2.6.15/arch/mips/aruba/serial.c linux-2.6.15-openwrt/arch/mips/a
 + */
 +
 +
-+#include <linux/config.h>
++#include <linux/autoconf.h>
 +#include <linux/init.h>
 +#include <linux/sched.h>
 +#include <linux/pci.h>
@@ -780,10 +783,10 @@ diff -Nur linux-2.6.15/arch/mips/aruba/serial.c linux-2.6.15-openwrt/arch/mips/a
 +      
 +      return(0);
 +}
-diff -Nur linux-2.6.15/arch/mips/aruba/setup.c linux-2.6.15-openwrt/arch/mips/aruba/setup.c
---- linux-2.6.15/arch/mips/aruba/setup.c       1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.15-openwrt/arch/mips/aruba/setup.c       2006-01-10 00:32:32.000000000 +0100
-@@ -0,0 +1,124 @@
+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,128 @@
 +/**************************************************************************
 + *
 + *  BRIEF MODULE DESCRIPTION
@@ -823,6 +826,7 @@ diff -Nur linux-2.6.15/arch/mips/aruba/setup.c linux-2.6.15-openwrt/arch/mips/ar
 + */
 +
 +#include <linux/init.h>
++#include <linux/module.h>
 +#include <linux/mm.h>
 +#include <linux/sched.h>
 +#include <linux/irq.h>
@@ -834,13 +838,12 @@ diff -Nur linux-2.6.15/arch/mips/aruba/setup.c linux-2.6.15-openwrt/arch/mips/ar
 +#include <asm/reboot.h>
 +#include <asm/addrspace.h>    /* for KSEG1ADDR() */
 +#include <asm/idt-boards/rc32434/rc32434.h>
++#include <linux/pm.h>
 +
 +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)
@@ -871,17 +874,14 @@ diff -Nur linux-2.6.15/arch/mips/aruba/setup.c linux-2.6.15-openwrt/arch/mips/ar
 +
 +extern char * getenv(char *e);
 +extern void unlock_ap60_70_flash(void);
-+extern void wdt_merlot_disable(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;
-+      _machine_power_off = aruba_machine_halt;
++      pm_power_off = aruba_machine_halt;
 +
 +      set_io_port_base(KSEG1);
 +
@@ -893,10 +893,6 @@ diff -Nur linux-2.6.15/arch/mips/aruba/setup.c linux-2.6.15-openwrt/arch/mips/ar
 +      unlock_ap60_70_flash();
 +
 +      printk("BOARD - %s\n",getenv("boardname"));
-+
-+      wdt_merlot_disable();
-+
-+      return 0;
 +}
 +
 +int page_is_ram(unsigned long pagenr)
@@ -906,12 +902,23 @@ diff -Nur linux-2.6.15/arch/mips/aruba/setup.c linux-2.6.15-openwrt/arch/mips/ar
 +
 +const char *get_system_type(void)
 +{
-+      return "MIPS IDT32434 - ARUBA";
++      switch (mips_machtype) {
++              case MACH_ARUBA_AP70:
++                      return "Aruba AP70";
++              case MACH_ARUBA_AP65:
++                      return "Aruba AP65";
++              case MACH_ARUBA_AP60:
++                      return "Aruba AP60/AP61";
++              default:
++                      return "Aruba UNKNOWN";
++      }
 +}
-diff -Nur linux-2.6.15/arch/mips/aruba/time.c linux-2.6.15-openwrt/arch/mips/aruba/time.c
---- linux-2.6.15/arch/mips/aruba/time.c        1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.15-openwrt/arch/mips/aruba/time.c        2006-01-10 00:32:32.000000000 +0100
-@@ -0,0 +1,108 @@
++
++EXPORT_SYMBOL(get_system_type);
+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,110 @@
 +/**************************************************************************
 + *
 + *  BRIEF MODULE DESCRIPTION
@@ -950,7 +957,7 @@ diff -Nur linux-2.6.15/arch/mips/aruba/time.c linux-2.6.15-openwrt/arch/mips/aru
 + **************************************************************************
 + */
 +
-+#include <linux/config.h>
++#include <linux/autoconf.h>
 +#include <linux/init.h>
 +#include <linux/kernel_stat.h>
 +#include <linux/sched.h>
@@ -1001,7 +1008,7 @@ diff -Nur linux-2.6.15/arch/mips/aruba/time.c linux-2.6.15-openwrt/arch/mips/aru
 +
 +}
 +
-+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);
@@ -1012,51 +1019,19 @@ diff -Nur linux-2.6.15/arch/mips/aruba/time.c linux-2.6.15-openwrt/arch/mips/aru
 +
 +}
 +
-+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.15/arch/mips/aruba/wdt_merlot.c linux-2.6.15-openwrt/arch/mips/aruba/wdt_merlot.c
---- linux-2.6.15/arch/mips/aruba/wdt_merlot.c  1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.15-openwrt/arch/mips/aruba/wdt_merlot.c  2006-01-10 00:32:32.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.15/arch/mips/Kconfig linux-2.6.15-openwrt/arch/mips/Kconfig
---- linux-2.6.15/arch/mips/Kconfig     2006-01-03 04:21:10.000000000 +0100
-+++ linux-2.6.15-openwrt/arch/mips/Kconfig     2006-01-10 00:32:32.000000000 +0100
+diff -Nur linux-2.6.17/arch/mips/Kconfig linux-2.6.17-owrt/arch/mips/Kconfig
+--- linux-2.6.17/arch/mips/Kconfig     2006-06-18 03:49:35.000000000 +0200
++++ linux-2.6.17-owrt/arch/mips/Kconfig        2006-06-18 12:44:28.000000000 +0200
 @@ -227,6 +227,17 @@
          either a NEC Vr5432 or QED RM5231. Say Y here if you wish to build
          a kernel for this platform.
@@ -1073,12 +1048,12 @@ diff -Nur linux-2.6.15/arch/mips/Kconfig linux-2.6.15-openwrt/arch/mips/Kconfig
 +
 +
  config MACH_JAZZ
-       bool "Support for the Jazz family of machines"
+       bool "Jazz family of machines"
        select ARC
-diff -Nur linux-2.6.15/arch/mips/Makefile linux-2.6.15-openwrt/arch/mips/Makefile
---- linux-2.6.15/arch/mips/Makefile    2006-01-03 04:21:10.000000000 +0100
-+++ linux-2.6.15-openwrt/arch/mips/Makefile    2006-01-10 00:32:32.000000000 +0100
-@@ -258,6 +258,14 @@
+diff -Nur linux-2.6.17/arch/mips/Makefile linux-2.6.17-owrt/arch/mips/Makefile
+--- linux-2.6.17/arch/mips/Makefile    2006-06-18 03:49:35.000000000 +0200
++++ linux-2.6.17-owrt/arch/mips/Makefile       2006-06-18 12:44:28.000000000 +0200
+@@ -145,6 +145,14 @@
  #
  
  #
@@ -1093,18 +1068,18 @@ diff -Nur linux-2.6.15/arch/mips/Makefile linux-2.6.15-openwrt/arch/mips/Makefil
  # Acer PICA 61, Mips Magnum 4000 and Olivetti M700.
  #
  core-$(CONFIG_MACH_JAZZ)      += arch/mips/jazz/
-diff -Nur linux-2.6.15/arch/mips/mm/tlbex.c linux-2.6.15-openwrt/arch/mips/mm/tlbex.c
---- linux-2.6.15/arch/mips/mm/tlbex.c  2006-01-03 04:21:10.000000000 +0100
-+++ linux-2.6.15-openwrt/arch/mips/mm/tlbex.c  2006-01-10 00:32:32.000000000 +0100
-@@ -852,7 +852,6 @@
+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:
-@@ -880,6 +879,7 @@
+@@ -904,6 +903,7 @@
                tlbw(p);
                break;
  
@@ -1112,10 +1087,10 @@ diff -Nur linux-2.6.15/arch/mips/mm/tlbex.c linux-2.6.15-openwrt/arch/mips/mm/tl
        case CPU_4KEC:
        case CPU_24K:
        case CPU_34K:
-diff -Nur linux-2.6.15/drivers/net/Kconfig linux-2.6.15-openwrt/drivers/net/Kconfig
---- linux-2.6.15/drivers/net/Kconfig   2006-01-03 04:21:10.000000000 +0100
-+++ linux-2.6.15-openwrt/drivers/net/Kconfig   2006-01-10 00:32:32.000000000 +0100
-@@ -176,6 +176,13 @@
+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
+@@ -187,6 +187,13 @@
  
  source "drivers/net/arm/Kconfig"
  
@@ -1129,21 +1104,102 @@ diff -Nur linux-2.6.15/drivers/net/Kconfig linux-2.6.15-openwrt/drivers/net/Kcon
  config MACE
        tristate "MACE (Power Mac ethernet) support"
        depends on NET_ETHERNET && PPC_PMAC && PPC32
-diff -Nur linux-2.6.15/drivers/net/Makefile linux-2.6.15-openwrt/drivers/net/Makefile
---- linux-2.6.15/drivers/net/Makefile  2006-01-03 04:21:10.000000000 +0100
-+++ linux-2.6.15-openwrt/drivers/net/Makefile  2006-01-10 00:32:33.000000000 +0100
-@@ -190,6 +190,7 @@
- obj-$(CONFIG_SMC91X) += smc91x.o
- obj-$(CONFIG_DM9000) += dm9000.o
- obj-$(CONFIG_FEC_8XX) += fec_8xx/
+diff -Nur linux-2.6.17/drivers/net/Makefile linux-2.6.17-owrt/drivers/net/Makefile
+--- linux-2.6.17/drivers/net/Makefile  2006-06-18 03:49:35.000000000 +0200
++++ linux-2.6.17-owrt/drivers/net/Makefile     2006-06-18 12:44:28.000000000 +0200
+@@ -38,6 +38,7 @@
+ obj-$(CONFIG_OAKNET) += oaknet.o 8390.o
 +obj-$(CONFIG_IDT_RC32434_ETH) += rc32434_eth.o
+ obj-$(CONFIG_DGRS) += dgrs.o
+ obj-$(CONFIG_VORTEX) += 3c59x.o
+ obj-$(CONFIG_TYPHOON) += typhoon.o
+diff -Nur linux-2.6.17/drivers/net/natsemi.c linux-2.6.17-owrt/drivers/net/natsemi.c
+--- linux-2.6.17/drivers/net/natsemi.c 2006-06-18 03:49:35.000000000 +0200
++++ linux-2.6.17-owrt/drivers/net/natsemi.c    2006-06-18 12:44:28.000000000 +0200
+@@ -771,6 +771,49 @@
+ static int netdev_get_eeprom(struct net_device *dev, u8 *buf);
+ static struct ethtool_ops ethtool_ops;
++#ifdef CONFIG_MACH_ARUBA
++
++#include <linux/ctype.h>
++
++#ifndef ERR
++#define ERR(fmt, args...) printk("%s: " fmt, __func__, ##args)
++#endif
++
++static int parse_mac_addr(struct net_device *dev, char* macstr)
++{
++        int i, j;
++        unsigned char result, value;
++
++        for (i=0; i<6; i++) {
++                result = 0;
++                if (i != 5 && *(macstr+2) != ':') {
++                        ERR("invalid mac address format: %d %c\n",
++                            i, *(macstr+2));
++                        return -EINVAL;
++                }
++                for (j=0; j<2; j++) {
++                        if (isxdigit(*macstr) && (value = isdigit(*macstr) ? *macstr-'0' :
++                                                  toupper(*macstr)-'A'+10) < 16) {
++                                result = result*16 + value;
++                                macstr++;
++                        }
++                        else {
++                                ERR("invalid mac address "
++                                    "character: %c\n", *macstr);
++                                return -EINVAL;
++                        }
++                }
++
++                macstr++;
++                dev->dev_addr[i] = result;
++        }
++
++      dev->dev_addr[5]++;
++        return 0;
++}
++
++#endif
++
+ static inline void __iomem *ns_ioaddr(struct net_device *dev)
+ {
+       return (void __iomem *) dev->base_addr;
+@@ -871,6 +914,7 @@
+               goto err_ioremap;
+       }
++#ifndef CONFIG_MACH_ARUBA
+       /* Work around the dropped serial bit. */
+       prev_eedata = eeprom_read(ioaddr, 6);
+       for (i = 0; i < 3; i++) {
+@@ -879,6 +923,19 @@
+               dev->dev_addr[i*2+1] = eedata >> 7;
+               prev_eedata = eedata;
+       }
++#else
++      {
++              char mac[32];
++              unsigned char def_mac[6] = {00, 0x0b, 0x86, 0xba, 0xdb, 0xad};
++              extern char *getenv(char *e);
++              memset(mac, 0, 32);
++              memcpy(mac, getenv("ethaddr"), 17);
++              if (parse_mac_addr(dev, mac)){
++                      printk("%s: MAC address not found\n", __func__);
++                      memcpy(dev->dev_addr, def_mac, 6);
++              }
++      }
++#endif
  
- obj-$(CONFIG_ARM) += arm/
- obj-$(CONFIG_DEV_APPLETALK) += appletalk/
-diff -Nur linux-2.6.15/drivers/net/rc32434_eth.c linux-2.6.15-openwrt/drivers/net/rc32434_eth.c
---- linux-2.6.15/drivers/net/rc32434_eth.c     1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.15-openwrt/drivers/net/rc32434_eth.c     2006-01-10 00:32:33.000000000 +0100
-@@ -0,0 +1,1268 @@
+       dev->base_addr = (unsigned long __force) ioaddr;
+       dev->irq = irq;
+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,1273 @@
 +/**************************************************************************
 + *
 + *  BRIEF MODULE DESCRIPTION
@@ -1184,7 +1240,8 @@ diff -Nur linux-2.6.15/drivers/net/rc32434_eth.c linux-2.6.15-openwrt/drivers/ne
 + **************************************************************************
 + */
 +
-+#include <linux/config.h>
++#include <linux/autoconf.h>
++#include <linux/version.h>
 +#include <linux/module.h>
 +#include <linux/kernel.h>
 +#include <linux/moduleparam.h>
@@ -1230,7 +1287,11 @@ diff -Nur linux-2.6.15/drivers/net/rc32434_eth.c linux-2.6.15-openwrt/drivers/ne
 +#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 {
@@ -1785,7 +1846,7 @@ diff -Nur linux-2.6.15/drivers/net/rc32434_eth.c linux-2.6.15-openwrt/drivers/ne
 +#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;
@@ -1818,7 +1879,7 @@ diff -Nur linux-2.6.15/drivers/net/rc32434_eth.c linux-2.6.15-openwrt/drivers/ne
 +
 +/* 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;
@@ -1851,7 +1912,7 @@ diff -Nur linux-2.6.15/drivers/net/rc32434_eth.c linux-2.6.15-openwrt/drivers/ne
 +
 +/* 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;
@@ -2065,7 +2126,7 @@ diff -Nur linux-2.6.15/drivers/net/rc32434_eth.c linux-2.6.15-openwrt/drivers/ne
 +
 +/* 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;
@@ -2412,9 +2473,9 @@ diff -Nur linux-2.6.15/drivers/net/rc32434_eth.c linux-2.6.15-openwrt/drivers/ne
 +
 +
 +
-diff -Nur linux-2.6.15/drivers/net/rc32434_eth.h linux-2.6.15-openwrt/drivers/net/rc32434_eth.h
---- linux-2.6.15/drivers/net/rc32434_eth.h     1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.15-openwrt/drivers/net/rc32434_eth.h     2006-01-10 00:32:33.000000000 +0100
+diff -Nur linux-2.6.17/drivers/net/rc32434_eth.h linux-2.6.17-owrt/drivers/net/rc32434_eth.h
+--- linux-2.6.17/drivers/net/rc32434_eth.h     1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.17-owrt/drivers/net/rc32434_eth.h        2006-06-18 12:44:28.000000000 +0200
 @@ -0,0 +1,187 @@
 +/**************************************************************************
 + *
@@ -2566,11 +2627,11 @@ diff -Nur linux-2.6.15/drivers/net/rc32434_eth.h linux-2.6.15-openwrt/drivers/ne
 +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);
@@ -2603,9 +2664,9 @@ diff -Nur linux-2.6.15/drivers/net/rc32434_eth.h linux-2.6.15-openwrt/drivers/ne
 +      rc32434_writel(0, &ch->dmadptr); 
 +      rc32434_writel(0, &ch->dmandptr); 
 +}
-diff -Nur linux-2.6.15/include/asm-mips/bootinfo.h linux-2.6.15-openwrt/include/asm-mips/bootinfo.h
---- linux-2.6.15/include/asm-mips/bootinfo.h   2006-01-03 04:21:10.000000000 +0100
-+++ linux-2.6.15-openwrt/include/asm-mips/bootinfo.h   2006-01-10 00:32:33.000000000 +0100
+diff -Nur linux-2.6.17/include/asm-mips/bootinfo.h linux-2.6.17-owrt/include/asm-mips/bootinfo.h
+--- linux-2.6.17/include/asm-mips/bootinfo.h   2006-06-18 03:49:35.000000000 +0200
++++ linux-2.6.17-owrt/include/asm-mips/bootinfo.h      2006-06-18 12:44:28.000000000 +0200
 @@ -218,6 +218,17 @@
  #define MACH_GROUP_TITAN       22     /* PMC-Sierra Titan             */
  #define  MACH_TITAN_YOSEMITE  1       /* PMC-Sierra Yosemite          */
@@ -2624,11 +2685,11 @@ diff -Nur linux-2.6.15/include/asm-mips/bootinfo.h linux-2.6.15-openwrt/include/
  #define CL_SIZE                       COMMAND_LINE_SIZE
  
  const char *get_system_type(void);
-diff -Nur linux-2.6.15/include/asm-mips/cpu.h linux-2.6.15-openwrt/include/asm-mips/cpu.h
---- linux-2.6.15/include/asm-mips/cpu.h        2006-01-03 04:21:10.000000000 +0100
-+++ linux-2.6.15-openwrt/include/asm-mips/cpu.h        2006-01-10 00:32:33.000000000 +0100
-@@ -53,6 +53,9 @@
- #define PRID_IMP_R12000               0x0e00
+diff -Nur linux-2.6.17/include/asm-mips/cpu.h linux-2.6.17-owrt/include/asm-mips/cpu.h
+--- linux-2.6.17/include/asm-mips/cpu.h        2006-06-18 03:49:35.000000000 +0200
++++ linux-2.6.17-owrt/include/asm-mips/cpu.h   2006-06-18 12:45:56.000000000 +0200
+@@ -54,6 +54,9 @@
+ #define PRID_IMP_R14000               0x0f00
  #define PRID_IMP_R8000                0x1000
  #define PRID_IMP_PR4450               0x1200
 +#define PRID_IMP_RC32334      0x1800
@@ -2637,19 +2698,19 @@ diff -Nur linux-2.6.15/include/asm-mips/cpu.h linux-2.6.15-openwrt/include/asm-m
  #define PRID_IMP_R4600                0x2000
  #define PRID_IMP_R4700                0x2100
  #define PRID_IMP_TX39         0x2200
-@@ -196,7 +199,8 @@
- #define CPU_34K                       60
- #define CPU_PR4450            61
+@@ -200,7 +203,8 @@
  #define CPU_SB1A              62
--#define CPU_LAST              62
-+#define CPU_RC32300           63
-+#define CPU_LAST              63
+ #define CPU_74K                       63
+ #define CPU_R14000            64
+-#define CPU_LAST              64
++#define CPU_RC32300           65
++#define CPU_LAST              65
  
  /*
   * ISA Level encodings
-diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32300/rc32300.h linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32300/rc32300.h
---- linux-2.6.15/include/asm-mips/idt-boards/rc32300/rc32300.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32300/rc32300.h 2006-01-10 00:32:33.000000000 +0100
+diff -Nur linux-2.6.17/include/asm-mips/idt-boards/rc32300/rc32300.h linux-2.6.17-owrt/include/asm-mips/idt-boards/rc32300/rc32300.h
+--- linux-2.6.17/include/asm-mips/idt-boards/rc32300/rc32300.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.17-owrt/include/asm-mips/idt-boards/rc32300/rc32300.h    2006-06-18 12:44:28.000000000 +0200
 @@ -0,0 +1,142 @@
 +/**************************************************************************
 + *
@@ -2793,9 +2854,9 @@ diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32300/rc32300.h linux-2.6.1
 +}
 +
 +#endif  // __IDT_RC32300_H__
-diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32300/rc32334.h linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32300/rc32334.h
---- linux-2.6.15/include/asm-mips/idt-boards/rc32300/rc32334.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32300/rc32334.h 2006-01-10 00:32:33.000000000 +0100
+diff -Nur linux-2.6.17/include/asm-mips/idt-boards/rc32300/rc32334.h linux-2.6.17-owrt/include/asm-mips/idt-boards/rc32300/rc32334.h
+--- linux-2.6.17/include/asm-mips/idt-boards/rc32300/rc32334.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.17-owrt/include/asm-mips/idt-boards/rc32300/rc32334.h    2006-06-18 12:44:28.000000000 +0200
 @@ -0,0 +1,207 @@
 +/**************************************************************************
 + *
@@ -3004,9 +3065,9 @@ diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32300/rc32334.h linux-2.6.1
 +#define RAM_SIZE      (32*1024*1024)
 +
 +#endif // __IDT_RC32334_H__
-diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32300/rc32355_dma.h linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32300/rc32355_dma.h
---- linux-2.6.15/include/asm-mips/idt-boards/rc32300/rc32355_dma.h     1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32300/rc32355_dma.h     2006-01-10 00:32:33.000000000 +0100
+diff -Nur linux-2.6.17/include/asm-mips/idt-boards/rc32300/rc32355_dma.h linux-2.6.17-owrt/include/asm-mips/idt-boards/rc32300/rc32355_dma.h
+--- linux-2.6.17/include/asm-mips/idt-boards/rc32300/rc32355_dma.h     1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.17-owrt/include/asm-mips/idt-boards/rc32300/rc32355_dma.h        2006-06-18 12:44:28.000000000 +0200
 @@ -0,0 +1,206 @@
 +/**************************************************************************
 + *
@@ -3214,9 +3275,9 @@ diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32300/rc32355_dma.h linux-2
 +  ((count) & DMADESC_COUNT_MASK)
 +
 +#endif /* RC32355_DMA_H */
-diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32300/rc32355_eth.h linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32300/rc32355_eth.h
---- linux-2.6.15/include/asm-mips/idt-boards/rc32300/rc32355_eth.h     1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32300/rc32355_eth.h     2006-01-10 00:32:33.000000000 +0100
+diff -Nur linux-2.6.17/include/asm-mips/idt-boards/rc32300/rc32355_eth.h linux-2.6.17-owrt/include/asm-mips/idt-boards/rc32300/rc32355_eth.h
+--- linux-2.6.17/include/asm-mips/idt-boards/rc32300/rc32355_eth.h     1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.17-owrt/include/asm-mips/idt-boards/rc32300/rc32355_eth.h        2006-06-18 12:44:28.000000000 +0200
 @@ -0,0 +1,442 @@
 +/**************************************************************************
 + *
@@ -3660,9 +3721,9 @@ diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32300/rc32355_eth.h linux-2
 +
 +#endif /* RC32355_ETHER_H */
 +
-diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32300/rc32355.h linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32300/rc32355.h
---- linux-2.6.15/include/asm-mips/idt-boards/rc32300/rc32355.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32300/rc32355.h 2006-01-10 00:32:33.000000000 +0100
+diff -Nur linux-2.6.17/include/asm-mips/idt-boards/rc32300/rc32355.h linux-2.6.17-owrt/include/asm-mips/idt-boards/rc32300/rc32355.h
+--- linux-2.6.17/include/asm-mips/idt-boards/rc32300/rc32355.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.17-owrt/include/asm-mips/idt-boards/rc32300/rc32355.h    2006-06-18 12:44:28.000000000 +0200
 @@ -0,0 +1,177 @@
 +/**************************************************************************
 + *
@@ -3841,9 +3902,9 @@ diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32300/rc32355.h linux-2.6.1
 +#define NVRAM_ENVSTART_OFF 32
 +
 +#endif /* _RC32355_H_ */
-diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32300/rc32365_dma.h linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32300/rc32365_dma.h
---- linux-2.6.15/include/asm-mips/idt-boards/rc32300/rc32365_dma.h     1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32300/rc32365_dma.h     2006-01-10 00:32:33.000000000 +0100
+diff -Nur linux-2.6.17/include/asm-mips/idt-boards/rc32300/rc32365_dma.h linux-2.6.17-owrt/include/asm-mips/idt-boards/rc32300/rc32365_dma.h
+--- linux-2.6.17/include/asm-mips/idt-boards/rc32300/rc32365_dma.h     1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.17-owrt/include/asm-mips/idt-boards/rc32300/rc32365_dma.h        2006-06-18 12:44:28.000000000 +0200
 @@ -0,0 +1,226 @@
 +/**************************************************************************
 + *
@@ -4071,9 +4132,9 @@ diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32300/rc32365_dma.h linux-2
 +#endif        // aws - Compatibility.
 +
 +#endif        // __IDT_RC32365_DMA_H__
-diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32300/rc32365_dma_v.h linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32300/rc32365_dma_v.h
---- linux-2.6.15/include/asm-mips/idt-boards/rc32300/rc32365_dma_v.h   1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32300/rc32365_dma_v.h   2006-01-10 00:32:33.000000000 +0100
+diff -Nur linux-2.6.17/include/asm-mips/idt-boards/rc32300/rc32365_dma_v.h linux-2.6.17-owrt/include/asm-mips/idt-boards/rc32300/rc32365_dma_v.h
+--- linux-2.6.17/include/asm-mips/idt-boards/rc32300/rc32365_dma_v.h   1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.17-owrt/include/asm-mips/idt-boards/rc32300/rc32365_dma_v.h      2006-06-18 12:44:28.000000000 +0200
 @@ -0,0 +1,86 @@
 +/**************************************************************************
 + *
@@ -4161,9 +4222,9 @@ diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32300/rc32365_dma_v.h linux
 +      local_writel(dma_addr, &ch->dmandptr);
 +}
 +#endif //__IDT_RC32365_DMA_V_H__
-diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32300/rc32365_eth.h linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32300/rc32365_eth.h
---- linux-2.6.15/include/asm-mips/idt-boards/rc32300/rc32365_eth.h     1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32300/rc32365_eth.h     2006-01-10 00:32:33.000000000 +0100
+diff -Nur linux-2.6.17/include/asm-mips/idt-boards/rc32300/rc32365_eth.h linux-2.6.17-owrt/include/asm-mips/idt-boards/rc32300/rc32365_eth.h
+--- linux-2.6.17/include/asm-mips/idt-boards/rc32300/rc32365_eth.h     1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.17-owrt/include/asm-mips/idt-boards/rc32300/rc32365_eth.h        2006-06-18 12:44:28.000000000 +0200
 @@ -0,0 +1,344 @@
 +/**************************************************************************
 + *
@@ -4509,9 +4570,9 @@ diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32300/rc32365_eth.h linux-2
 +      u32 ipabmctx            ;
 +}volatile *IPABM_ETH_t;
 +#endif //__IDT_RC32365_ETH_H__
-diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32300/rc32365_eth_v.h linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32300/rc32365_eth_v.h
---- linux-2.6.15/include/asm-mips/idt-boards/rc32300/rc32365_eth_v.h   1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32300/rc32365_eth_v.h   2006-01-10 00:32:33.000000000 +0100
+diff -Nur linux-2.6.17/include/asm-mips/idt-boards/rc32300/rc32365_eth_v.h linux-2.6.17-owrt/include/asm-mips/idt-boards/rc32300/rc32365_eth_v.h
+--- linux-2.6.17/include/asm-mips/idt-boards/rc32300/rc32365_eth_v.h   1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.17-owrt/include/asm-mips/idt-boards/rc32300/rc32365_eth_v.h      2006-06-18 12:44:28.000000000 +0200
 @@ -0,0 +1,72 @@
 +/**************************************************************************
 + *
@@ -4585,9 +4646,9 @@ diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32300/rc32365_eth_v.h linux
 +#define RCVPKT_LENGTH(X)     (((X) & ETHRX_length_m) >> ETHRX_length_b)   /* Length of the received packet */
 +
 +#endif //__IDT_RC32365_ETH_V_H__
-diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32300/rc32365_gpio.h linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32300/rc32365_gpio.h
---- linux-2.6.15/include/asm-mips/idt-boards/rc32300/rc32365_gpio.h    1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32300/rc32365_gpio.h    2006-01-10 00:32:33.000000000 +0100
+diff -Nur linux-2.6.17/include/asm-mips/idt-boards/rc32300/rc32365_gpio.h linux-2.6.17-owrt/include/asm-mips/idt-boards/rc32300/rc32365_gpio.h
+--- linux-2.6.17/include/asm-mips/idt-boards/rc32300/rc32365_gpio.h    1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.17-owrt/include/asm-mips/idt-boards/rc32300/rc32365_gpio.h       2006-06-18 12:44:28.000000000 +0200
 @@ -0,0 +1,181 @@
 +/**************************************************************************
 + *
@@ -4770,9 +4831,9 @@ diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32300/rc32365_gpio.h linux-
 +} GPIO_DEFS_t;
 +
 +#endif //__IDT_RC32365_GPIO_H__
-diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32300/rc32365_gpio_v.h linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32300/rc32365_gpio_v.h
---- linux-2.6.15/include/asm-mips/idt-boards/rc32300/rc32365_gpio_v.h  1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32300/rc32365_gpio_v.h  2006-01-10 00:32:33.000000000 +0100
+diff -Nur linux-2.6.17/include/asm-mips/idt-boards/rc32300/rc32365_gpio_v.h linux-2.6.17-owrt/include/asm-mips/idt-boards/rc32300/rc32365_gpio_v.h
+--- linux-2.6.17/include/asm-mips/idt-boards/rc32300/rc32365_gpio_v.h  1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.17-owrt/include/asm-mips/idt-boards/rc32300/rc32365_gpio_v.h     2006-06-18 12:44:28.000000000 +0200
 @@ -0,0 +1,91 @@
 +/**************************************************************************
 + *
@@ -4865,9 +4926,9 @@ diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32300/rc32365_gpio_v.h linu
 +
 +#endif //__IDT_RC32365_GPIO_V_H__
 +
-diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32300/rc32365.h linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32300/rc32365.h
---- linux-2.6.15/include/asm-mips/idt-boards/rc32300/rc32365.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32300/rc32365.h 2006-01-10 00:32:33.000000000 +0100
+diff -Nur linux-2.6.17/include/asm-mips/idt-boards/rc32300/rc32365.h linux-2.6.17-owrt/include/asm-mips/idt-boards/rc32300/rc32365.h
+--- linux-2.6.17/include/asm-mips/idt-boards/rc32300/rc32365.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.17-owrt/include/asm-mips/idt-boards/rc32300/rc32365.h    2006-06-18 12:44:28.000000000 +0200
 @@ -0,0 +1,160 @@
 +/**************************************************************************
 + *
@@ -5029,9 +5090,9 @@ diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32300/rc32365.h linux-2.6.1
 +#define RAM_SIZE         (32 * 1024 * 1024)
 +
 +#endif //__IDT_RC32365_H__
-diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32300/rc32365_pci.h linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32300/rc32365_pci.h
---- linux-2.6.15/include/asm-mips/idt-boards/rc32300/rc32365_pci.h     1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32300/rc32365_pci.h     2006-01-10 00:32:33.000000000 +0100
+diff -Nur linux-2.6.17/include/asm-mips/idt-boards/rc32300/rc32365_pci.h linux-2.6.17-owrt/include/asm-mips/idt-boards/rc32300/rc32365_pci.h
+--- linux-2.6.17/include/asm-mips/idt-boards/rc32300/rc32365_pci.h     1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.17-owrt/include/asm-mips/idt-boards/rc32300/rc32365_pci.h        2006-06-18 12:44:28.000000000 +0200
 @@ -0,0 +1,515 @@
 +/**************************************************************************
 + *
@@ -5548,9 +5609,9 @@ diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32300/rc32365_pci.h linux-2
 +
 +
 +#endif        // __IDT_RC32365_PCI_H__
-diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32300/rc32365_pci_v.h linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32300/rc32365_pci_v.h
---- linux-2.6.15/include/asm-mips/idt-boards/rc32300/rc32365_pci_v.h   1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32300/rc32365_pci_v.h   2006-01-10 00:32:33.000000000 +0100
+diff -Nur linux-2.6.17/include/asm-mips/idt-boards/rc32300/rc32365_pci_v.h linux-2.6.17-owrt/include/asm-mips/idt-boards/rc32300/rc32365_pci_v.h
+--- linux-2.6.17/include/asm-mips/idt-boards/rc32300/rc32365_pci_v.h   1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.17-owrt/include/asm-mips/idt-boards/rc32300/rc32365_pci_v.h      2006-06-18 12:44:28.000000000 +0200
 @@ -0,0 +1,217 @@
 +/**************************************************************************
 + *
@@ -5769,9 +5830,9 @@ diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32300/rc32365_pci_v.h linux
 +#define PCITC_RTIMER_VAL      0x10
 +
 +#endif //__IDT_RC32365_PCI_V_H__
-diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32434/rc32434_dma.h linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32434/rc32434_dma.h
---- linux-2.6.15/include/asm-mips/idt-boards/rc32434/rc32434_dma.h     1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32434/rc32434_dma.h     2006-01-10 00:32:33.000000000 +0100
+diff -Nur linux-2.6.17/include/asm-mips/idt-boards/rc32434/rc32434_dma.h linux-2.6.17-owrt/include/asm-mips/idt-boards/rc32434/rc32434_dma.h
+--- linux-2.6.17/include/asm-mips/idt-boards/rc32434/rc32434_dma.h     1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.17-owrt/include/asm-mips/idt-boards/rc32434/rc32434_dma.h        2006-06-18 12:44:28.000000000 +0200
 @@ -0,0 +1,205 @@
 +/**************************************************************************
 + *
@@ -5978,9 +6039,9 @@ diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32434/rc32434_dma.h linux-2
 +
 +
 +
-diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32434/rc32434_dma_v.h linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32434/rc32434_dma_v.h
---- linux-2.6.15/include/asm-mips/idt-boards/rc32434/rc32434_dma_v.h   1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32434/rc32434_dma_v.h   2006-01-10 00:32:33.000000000 +0100
+diff -Nur linux-2.6.17/include/asm-mips/idt-boards/rc32434/rc32434_dma_v.h linux-2.6.17-owrt/include/asm-mips/idt-boards/rc32434/rc32434_dma_v.h
+--- linux-2.6.17/include/asm-mips/idt-boards/rc32434/rc32434_dma_v.h   1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.17-owrt/include/asm-mips/idt-boards/rc32434/rc32434_dma_v.h      2006-06-18 12:44:28.000000000 +0200
 @@ -0,0 +1,89 @@
 +/**************************************************************************
 + *
@@ -6071,9 +6132,9 @@ diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32434/rc32434_dma_v.h linux
 +
 +
 +
-diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32434/rc32434_eth.h linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32434/rc32434_eth.h
---- linux-2.6.15/include/asm-mips/idt-boards/rc32434/rc32434_eth.h     1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32434/rc32434_eth.h     2006-01-10 00:32:33.000000000 +0100
+diff -Nur linux-2.6.17/include/asm-mips/idt-boards/rc32434/rc32434_eth.h linux-2.6.17-owrt/include/asm-mips/idt-boards/rc32434/rc32434_eth.h
+--- linux-2.6.17/include/asm-mips/idt-boards/rc32434/rc32434_eth.h     1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.17-owrt/include/asm-mips/idt-boards/rc32434/rc32434_eth.h        2006-06-18 12:44:28.000000000 +0200
 @@ -0,0 +1,333 @@
 +/**************************************************************************
 + *
@@ -6408,9 +6469,9 @@ diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32434/rc32434_eth.h linux-2
 +
 +
 +
-diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32434/rc32434_eth_v.h linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32434/rc32434_eth_v.h
---- linux-2.6.15/include/asm-mips/idt-boards/rc32434/rc32434_eth_v.h   1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32434/rc32434_eth_v.h   2006-01-10 00:32:33.000000000 +0100
+diff -Nur linux-2.6.17/include/asm-mips/idt-boards/rc32434/rc32434_eth_v.h linux-2.6.17-owrt/include/asm-mips/idt-boards/rc32434/rc32434_eth_v.h
+--- linux-2.6.17/include/asm-mips/idt-boards/rc32434/rc32434_eth_v.h   1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.17-owrt/include/asm-mips/idt-boards/rc32434/rc32434_eth_v.h      2006-06-18 12:44:28.000000000 +0200
 @@ -0,0 +1,77 @@
 +/**************************************************************************
 + *
@@ -6489,9 +6550,9 @@ diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32434/rc32434_eth_v.h linux
 +
 +
 +
-diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32434/rc32434_gpio.h linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32434/rc32434_gpio.h
---- linux-2.6.15/include/asm-mips/idt-boards/rc32434/rc32434_gpio.h    1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32434/rc32434_gpio.h    2006-01-10 00:32:33.000000000 +0100
+diff -Nur linux-2.6.17/include/asm-mips/idt-boards/rc32434/rc32434_gpio.h linux-2.6.17-owrt/include/asm-mips/idt-boards/rc32434/rc32434_gpio.h
+--- linux-2.6.17/include/asm-mips/idt-boards/rc32434/rc32434_gpio.h    1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.17-owrt/include/asm-mips/idt-boards/rc32434/rc32434_gpio.h       2006-06-18 12:44:28.000000000 +0200
 @@ -0,0 +1,167 @@
 +/**************************************************************************
 + *
@@ -6660,9 +6721,9 @@ diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32434/rc32434_gpio.h linux-
 +
 +#endif        // __IDT_GPIO_H__
 +
-diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32434/rc32434.h linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32434/rc32434.h
---- linux-2.6.15/include/asm-mips/idt-boards/rc32434/rc32434.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32434/rc32434.h 2006-01-10 00:32:33.000000000 +0100
+diff -Nur linux-2.6.17/include/asm-mips/idt-boards/rc32434/rc32434.h linux-2.6.17-owrt/include/asm-mips/idt-boards/rc32434/rc32434.h
+--- linux-2.6.17/include/asm-mips/idt-boards/rc32434/rc32434.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.17-owrt/include/asm-mips/idt-boards/rc32434/rc32434.h    2006-06-18 12:44:28.000000000 +0200
 @@ -0,0 +1,199 @@
 + /**************************************************************************
 + *
@@ -6705,7 +6766,7 @@ diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32434/rc32434.h linux-2.6.1
 +#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>
@@ -6863,9 +6924,9 @@ diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32434/rc32434.h linux-2.6.1
 +
 +
 +
-diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32434/rc32434_integ.h linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32434/rc32434_integ.h
---- linux-2.6.15/include/asm-mips/idt-boards/rc32434/rc32434_integ.h   1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32434/rc32434_integ.h   2006-01-10 00:32:33.000000000 +0100
+diff -Nur linux-2.6.17/include/asm-mips/idt-boards/rc32434/rc32434_integ.h linux-2.6.17-owrt/include/asm-mips/idt-boards/rc32434/rc32434_integ.h
+--- linux-2.6.17/include/asm-mips/idt-boards/rc32434/rc32434_integ.h   1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.17-owrt/include/asm-mips/idt-boards/rc32434/rc32434_integ.h      2006-06-18 12:44:28.000000000 +0200
 @@ -0,0 +1,90 @@
 +/**************************************************************************
 + *
@@ -6957,9 +7018,9 @@ diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32434/rc32434_integ.h linux
 +} ;
 +
 +#endif        // __IDT_INTEG_H__
-diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32434/rc32434_int.h linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32434/rc32434_int.h
---- linux-2.6.15/include/asm-mips/idt-boards/rc32434/rc32434_int.h     1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32434/rc32434_int.h     2006-01-10 00:32:33.000000000 +0100
+diff -Nur linux-2.6.17/include/asm-mips/idt-boards/rc32434/rc32434_int.h linux-2.6.17-owrt/include/asm-mips/idt-boards/rc32434/rc32434_int.h
+--- linux-2.6.17/include/asm-mips/idt-boards/rc32434/rc32434_int.h     1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.17-owrt/include/asm-mips/idt-boards/rc32434/rc32434_int.h        2006-06-18 12:44:28.000000000 +0200
 @@ -0,0 +1,174 @@
 +/**************************************************************************
 + *
@@ -7135,9 +7196,9 @@ diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32434/rc32434_int.h linux-2
 +#endif        // __IDT_INT_H__
 +
 +
-diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32434/rc32434_iparb.h linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32434/rc32434_iparb.h
---- linux-2.6.15/include/asm-mips/idt-boards/rc32434/rc32434_iparb.h   1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32434/rc32434_iparb.h   2006-01-10 00:32:33.000000000 +0100
+diff -Nur linux-2.6.17/include/asm-mips/idt-boards/rc32434/rc32434_iparb.h linux-2.6.17-owrt/include/asm-mips/idt-boards/rc32434/rc32434_iparb.h
+--- linux-2.6.17/include/asm-mips/idt-boards/rc32434/rc32434_iparb.h   1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.17-owrt/include/asm-mips/idt-boards/rc32434/rc32434_iparb.h      2006-06-18 12:44:28.000000000 +0200
 @@ -0,0 +1,111 @@
 +/**************************************************************************
 + *
@@ -7250,9 +7311,9 @@ diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32434/rc32434_iparb.h linux
 +};
 +
 +#endif        // __IDT_IPARB_H__
-diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32434/rc32434_pci.h linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32434/rc32434_pci.h
---- linux-2.6.15/include/asm-mips/idt-boards/rc32434/rc32434_pci.h     1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32434/rc32434_pci.h     2006-01-10 00:32:33.000000000 +0100
+diff -Nur linux-2.6.17/include/asm-mips/idt-boards/rc32434/rc32434_pci.h linux-2.6.17-owrt/include/asm-mips/idt-boards/rc32434/rc32434_pci.h
+--- linux-2.6.17/include/asm-mips/idt-boards/rc32434/rc32434_pci.h     1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.17-owrt/include/asm-mips/idt-boards/rc32434/rc32434_pci.h        2006-06-18 12:44:28.000000000 +0200
 @@ -0,0 +1,695 @@
 +/**************************************************************************
 + *
@@ -7949,9 +8010,9 @@ diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32434/rc32434_pci.h linux-2
 +
 +
 +
-diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32434/rc32434_rst.h linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32434/rc32434_rst.h
---- linux-2.6.15/include/asm-mips/idt-boards/rc32434/rc32434_rst.h     1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32434/rc32434_rst.h     2006-01-10 00:32:33.000000000 +0100
+diff -Nur linux-2.6.17/include/asm-mips/idt-boards/rc32434/rc32434_rst.h linux-2.6.17-owrt/include/asm-mips/idt-boards/rc32434/rc32434_rst.h
+--- linux-2.6.17/include/asm-mips/idt-boards/rc32434/rc32434_rst.h     1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.17-owrt/include/asm-mips/idt-boards/rc32434/rc32434_rst.h        2006-06-18 12:44:28.000000000 +0200
 @@ -0,0 +1,119 @@
 +/**************************************************************************
 + *
@@ -8072,9 +8133,9 @@ diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32434/rc32434_rst.h linux-2
 +      BCV_res15_m             = 0x00008000,
 +} ;
 +#endif        // __IDT_RST_H__
-diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32434/rc32434_spi.h linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32434/rc32434_spi.h
---- linux-2.6.15/include/asm-mips/idt-boards/rc32434/rc32434_spi.h     1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32434/rc32434_spi.h     2006-01-10 00:32:33.000000000 +0100
+diff -Nur linux-2.6.17/include/asm-mips/idt-boards/rc32434/rc32434_spi.h linux-2.6.17-owrt/include/asm-mips/idt-boards/rc32434/rc32434_spi.h
+--- linux-2.6.17/include/asm-mips/idt-boards/rc32434/rc32434_spi.h     1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.17-owrt/include/asm-mips/idt-boards/rc32434/rc32434_spi.h        2006-06-18 12:44:28.000000000 +0200
 @@ -0,0 +1,120 @@
 +/**************************************************************************
 + *
@@ -8196,9 +8257,9 @@ diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32434/rc32434_spi.h linux-2
 +      SIOD_pci_m       = 0x00000008,
 +} ;
 +#endif        // __IDT_SPI_H__
-diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32434/rc32434_timer.h linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32434/rc32434_timer.h
---- linux-2.6.15/include/asm-mips/idt-boards/rc32434/rc32434_timer.h   1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32434/rc32434_timer.h   2006-01-10 00:32:33.000000000 +0100
+diff -Nur linux-2.6.17/include/asm-mips/idt-boards/rc32434/rc32434_timer.h linux-2.6.17-owrt/include/asm-mips/idt-boards/rc32434/rc32434_timer.h
+--- linux-2.6.17/include/asm-mips/idt-boards/rc32434/rc32434_timer.h   1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.17-owrt/include/asm-mips/idt-boards/rc32434/rc32434_timer.h      2006-06-18 12:44:28.000000000 +0200
 @@ -0,0 +1,91 @@
 +/**************************************************************************
 + *
@@ -8291,9 +8352,9 @@ diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32434/rc32434_timer.h linux
 +} ;
 +#endif        // __IDT_TIM_H__
 +
-diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32434/rc32434_uart.h linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32434/rc32434_uart.h
---- linux-2.6.15/include/asm-mips/idt-boards/rc32434/rc32434_uart.h    1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32434/rc32434_uart.h    2006-01-10 00:32:33.000000000 +0100
+diff -Nur linux-2.6.17/include/asm-mips/idt-boards/rc32434/rc32434_uart.h linux-2.6.17-owrt/include/asm-mips/idt-boards/rc32434/rc32434_uart.h
+--- linux-2.6.17/include/asm-mips/idt-boards/rc32434/rc32434_uart.h    1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.17-owrt/include/asm-mips/idt-boards/rc32434/rc32434_uart.h       2006-06-18 12:44:28.000000000 +0200
 @@ -0,0 +1,189 @@
 +/**************************************************************************
 + *
@@ -8484,9 +8545,9 @@ diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32434/rc32434_uart.h linux-
 +} ;
 +
 +#endif        // __IDT_UART_H__
-diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32438/rc32438_dma.h linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32438/rc32438_dma.h
---- linux-2.6.15/include/asm-mips/idt-boards/rc32438/rc32438_dma.h     1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32438/rc32438_dma.h     2006-01-10 00:32:33.000000000 +0100
+diff -Nur linux-2.6.17/include/asm-mips/idt-boards/rc32438/rc32438_dma.h linux-2.6.17-owrt/include/asm-mips/idt-boards/rc32438/rc32438_dma.h
+--- linux-2.6.17/include/asm-mips/idt-boards/rc32438/rc32438_dma.h     1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.17-owrt/include/asm-mips/idt-boards/rc32438/rc32438_dma.h        2006-06-18 12:44:28.000000000 +0200
 @@ -0,0 +1,231 @@
 +/**************************************************************************
 + *
@@ -8719,9 +8780,9 @@ diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32438/rc32438_dma.h linux-2
 +#endif        // aws - Compatibility.
 +
 +#endif //__IDT_RC32438_DMA_H__
-diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32438/rc32438_dma_v.h linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32438/rc32438_dma_v.h
---- linux-2.6.15/include/asm-mips/idt-boards/rc32438/rc32438_dma_v.h   1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32438/rc32438_dma_v.h   2006-01-10 00:32:33.000000000 +0100
+diff -Nur linux-2.6.17/include/asm-mips/idt-boards/rc32438/rc32438_dma_v.h linux-2.6.17-owrt/include/asm-mips/idt-boards/rc32438/rc32438_dma_v.h
+--- linux-2.6.17/include/asm-mips/idt-boards/rc32438/rc32438_dma_v.h   1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.17-owrt/include/asm-mips/idt-boards/rc32438/rc32438_dma_v.h      2006-06-18 12:44:28.000000000 +0200
 @@ -0,0 +1,82 @@
 +/**************************************************************************
 + *
@@ -8805,9 +8866,9 @@ diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32438/rc32438_dma_v.h linux
 +      rc32438_writel(dma_addr, &ch->dmandptr);
 +}
 +#endif //__IDT_RC32438_DMA_V_H__
-diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32438/rc32438_eth.h linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32438/rc32438_eth.h
---- linux-2.6.15/include/asm-mips/idt-boards/rc32438/rc32438_eth.h     1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32438/rc32438_eth.h     2006-01-10 00:32:33.000000000 +0100
+diff -Nur linux-2.6.17/include/asm-mips/idt-boards/rc32438/rc32438_eth.h linux-2.6.17-owrt/include/asm-mips/idt-boards/rc32438/rc32438_eth.h
+--- linux-2.6.17/include/asm-mips/idt-boards/rc32438/rc32438_eth.h     1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.17-owrt/include/asm-mips/idt-boards/rc32438/rc32438_eth.h        2006-06-18 12:44:28.000000000 +0200
 @@ -0,0 +1,328 @@
 +/**************************************************************************
 + *
@@ -9137,9 +9198,9 @@ diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32438/rc32438_eth.h linux-2
 +      ETHTX_cc_m              = 0x001E0000,
 +} ;
 +#endif //__IDT_RC32438_ETH_H__
-diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32438/rc32438_eth_v.h linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32438/rc32438_eth_v.h
---- linux-2.6.15/include/asm-mips/idt-boards/rc32438/rc32438_eth_v.h   1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32438/rc32438_eth_v.h   2006-01-10 00:32:33.000000000 +0100
+diff -Nur linux-2.6.17/include/asm-mips/idt-boards/rc32438/rc32438_eth_v.h linux-2.6.17-owrt/include/asm-mips/idt-boards/rc32438/rc32438_eth_v.h
+--- linux-2.6.17/include/asm-mips/idt-boards/rc32438/rc32438_eth_v.h   1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.17-owrt/include/asm-mips/idt-boards/rc32438/rc32438_eth_v.h      2006-06-18 12:44:28.000000000 +0200
 @@ -0,0 +1,72 @@
 +/**************************************************************************
 + *
@@ -9213,9 +9274,9 @@ diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32438/rc32438_eth_v.h linux
 +#define RCVPKT_LENGTH(X)     (((X) & ETHRX_length_m) >> ETHRX_length_b)   /* Length of the received packet */
 +
 +#endif //__IDT_RC32438_ETH_V_H__
-diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32438/rc32438_gpio.h linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32438/rc32438_gpio.h
---- linux-2.6.15/include/asm-mips/idt-boards/rc32438/rc32438_gpio.h    1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32438/rc32438_gpio.h    2006-01-10 00:32:33.000000000 +0100
+diff -Nur linux-2.6.17/include/asm-mips/idt-boards/rc32438/rc32438_gpio.h linux-2.6.17-owrt/include/asm-mips/idt-boards/rc32438/rc32438_gpio.h
+--- linux-2.6.17/include/asm-mips/idt-boards/rc32438/rc32438_gpio.h    1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.17-owrt/include/asm-mips/idt-boards/rc32438/rc32438_gpio.h       2006-06-18 12:44:28.000000000 +0200
 @@ -0,0 +1,257 @@
 +/**************************************************************************
 + *
@@ -9474,9 +9535,9 @@ diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32438/rc32438_gpio.h linux-
 +} GPIO_DEFS_t;
 +
 +#endif //__IDT_RC32438_GPIO_H__
-diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32438/rc32438.h linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32438/rc32438.h
---- linux-2.6.15/include/asm-mips/idt-boards/rc32438/rc32438.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32438/rc32438.h 2006-01-10 00:32:33.000000000 +0100
+diff -Nur linux-2.6.17/include/asm-mips/idt-boards/rc32438/rc32438.h linux-2.6.17-owrt/include/asm-mips/idt-boards/rc32438/rc32438.h
+--- linux-2.6.17/include/asm-mips/idt-boards/rc32438/rc32438.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.17-owrt/include/asm-mips/idt-boards/rc32438/rc32438.h    2006-06-18 12:44:28.000000000 +0200
 @@ -0,0 +1,152 @@
 +/**************************************************************************
 + *
@@ -9518,7 +9579,7 @@ diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32438/rc32438.h linux-2.6.1
 +
 +#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>
@@ -9630,9 +9691,9 @@ diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32438/rc32438.h linux-2.6.1
 +      return ret;
 +}
 +#endif //__IDT_RC32438_H__
-diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32438/rc32438_pci.h linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32438/rc32438_pci.h
---- linux-2.6.15/include/asm-mips/idt-boards/rc32438/rc32438_pci.h     1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32438/rc32438_pci.h     2006-01-10 00:32:33.000000000 +0100
+diff -Nur linux-2.6.17/include/asm-mips/idt-boards/rc32438/rc32438_pci.h linux-2.6.17-owrt/include/asm-mips/idt-boards/rc32438/rc32438_pci.h
+--- linux-2.6.17/include/asm-mips/idt-boards/rc32438/rc32438_pci.h     1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.17-owrt/include/asm-mips/idt-boards/rc32438/rc32438_pci.h        2006-06-18 12:44:28.000000000 +0200
 @@ -0,0 +1,510 @@
 +/**************************************************************************
 + *
@@ -10144,9 +10205,9 @@ diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32438/rc32438_pci.h linux-2
 +      PCIM_db_m       = 0x00000004,   // inbound or outbound doorbell
 +};
 +
-diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32438/rc32438_pci_v.h linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32438/rc32438_pci_v.h
---- linux-2.6.15/include/asm-mips/idt-boards/rc32438/rc32438_pci_v.h   1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32438/rc32438_pci_v.h   2006-01-10 00:32:33.000000000 +0100
+diff -Nur linux-2.6.17/include/asm-mips/idt-boards/rc32438/rc32438_pci_v.h linux-2.6.17-owrt/include/asm-mips/idt-boards/rc32438/rc32438_pci_v.h
+--- linux-2.6.17/include/asm-mips/idt-boards/rc32438/rc32438_pci_v.h   1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.17-owrt/include/asm-mips/idt-boards/rc32438/rc32438_pci_v.h      2006-06-18 12:44:28.000000000 +0200
 @@ -0,0 +1,190 @@
 +/**************************************************************************
 + *
@@ -10338,9 +10399,9 @@ diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32438/rc32438_pci_v.h linux
 +#define       PCITC_DTIMER_VAL        8
 +#define PCITC_RTIMER_VAL      0x10
 +
-diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32438/rc32438_timer.h linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32438/rc32438_timer.h
---- linux-2.6.15/include/asm-mips/idt-boards/rc32438/rc32438_timer.h   1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.15-openwrt/include/asm-mips/idt-boards/rc32438/rc32438_timer.h   2006-01-10 00:32:33.000000000 +0100
+diff -Nur linux-2.6.17/include/asm-mips/idt-boards/rc32438/rc32438_timer.h linux-2.6.17-owrt/include/asm-mips/idt-boards/rc32438/rc32438_timer.h
+--- linux-2.6.17/include/asm-mips/idt-boards/rc32438/rc32438_timer.h   1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.17-owrt/include/asm-mips/idt-boards/rc32438/rc32438_timer.h      2006-06-18 12:44:28.000000000 +0200
 @@ -0,0 +1,91 @@
 +/**************************************************************************
 + *
@@ -10433,9 +10494,9 @@ diff -Nur linux-2.6.15/include/asm-mips/idt-boards/rc32438/rc32438_timer.h linux
 +} ;
 +#endif        //__IDT_RC32438_TIM_H__
 +
-diff -Nur linux-2.6.15/include/asm-mips/mach-generic/irq.h linux-2.6.15-openwrt/include/asm-mips/mach-generic/irq.h
---- linux-2.6.15/include/asm-mips/mach-generic/irq.h   2006-01-03 04:21:10.000000000 +0100
-+++ linux-2.6.15-openwrt/include/asm-mips/mach-generic/irq.h   2006-01-10 00:32:33.000000000 +0100
+diff -Nur linux-2.6.17/include/asm-mips/mach-generic/irq.h linux-2.6.17-owrt/include/asm-mips/mach-generic/irq.h
+--- linux-2.6.17/include/asm-mips/mach-generic/irq.h   2006-06-18 03:49:35.000000000 +0200
++++ linux-2.6.17-owrt/include/asm-mips/mach-generic/irq.h      2006-06-18 12:44:28.000000000 +0200
 @@ -8,6 +8,6 @@
  #ifndef __ASM_MACH_GENERIC_IRQ_H
  #define __ASM_MACH_GENERIC_IRQ_H
@@ -10444,141 +10505,14 @@ diff -Nur linux-2.6.15/include/asm-mips/mach-generic/irq.h linux-2.6.15-openwrt/
 +#define NR_IRQS       256
  
  #endif /* __ASM_MACH_GENERIC_IRQ_H */
-diff -Nur linux-2.6.15/include/linux/init.h linux-2.6.15-openwrt/include/linux/init.h
---- linux-2.6.15/include/linux/init.h  2006-01-03 04:21:10.000000000 +0100
-+++ linux-2.6.15-openwrt/include/linux/init.h  2006-01-10 00:32:33.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.15/include/linux/kernel.h linux-2.6.15-openwrt/include/linux/kernel.h
---- linux-2.6.15/include/linux/kernel.h        2006-01-03 04:21:10.000000000 +0100
-+++ linux-2.6.15-openwrt/include/linux/kernel.h        2006-01-10 00:32:33.000000000 +0100
-@@ -307,6 +307,7 @@
+diff -Nur linux-2.6.17/include/linux/kernel.h linux-2.6.17-owrt/include/linux/kernel.h
+--- linux-2.6.17/include/linux/kernel.h        2006-06-18 03:49:35.000000000 +0200
++++ linux-2.6.17-owrt/include/linux/kernel.h   2006-06-18 12:44:28.000000000 +0200
+@@ -329,6 +329,7 @@
  };
  
  /* Force a compilation error if condition is true */
 +extern void BUILD_BUG(void);
  #define BUILD_BUG_ON(condition) ((void)sizeof(char[1 - 2*!!(condition)]))
  
- #ifdef CONFIG_SYSCTL
-diff -Nur linux-2.6.15/Makefile linux-2.6.15-openwrt/Makefile
---- linux-2.6.15/Makefile      2006-01-03 04:21:10.000000000 +0100
-+++ linux-2.6.15-openwrt/Makefile      2006-01-10 00:32:33.000000000 +0100
-@@ -166,10 +166,7 @@
- # then ARCH is assigned, getting whatever value it gets normally, and 
- # SUBARCH is subsequently ignored.
--SUBARCH := $(shell uname -m | sed -e s/i.86/i386/ -e s/sun4u/sparc64/ \
--                                -e s/arm.*/arm/ -e s/sa110/arm/ \
--                                -e s/s390x/s390/ -e s/parisc64/parisc/ \
--                                -e s/ppc64/powerpc/ )
-+SUBARCH := mips
- # Cross compiling and selecting different set of gcc/bin-utils
- # ---------------------------------------------------------------------------
-diff -Nur linux-2.6.15/drivers/net/natsemi.c linux-2.6.15-openwrt/drivers/net/natsemi.c
---- linux-2.6.15/drivers/net/natsemi.c 2006-01-02 19:21:10.000000000 -0800
-+++ linux-2.6.15-openwrt/drivers/net/natsemi.c 2006-01-10 07:29:49.581994000 -0800
-@@ -771,6 +771,49 @@
- static int netdev_get_eeprom(struct net_device *dev, u8 *buf);
- static struct ethtool_ops ethtool_ops;
-+#ifdef CONFIG_MACH_ARUBA
-+
-+#include <linux/ctype.h>
-+
-+#ifndef ERR
-+#define ERR(fmt, args...) printk("%s: " fmt, __func__, ##args)
-+#endif
-+
-+static int parse_mac_addr(struct net_device *dev, char* macstr)
-+{
-+        int i, j;
-+        unsigned char result, value;
-+
-+        for (i=0; i<6; i++) {
-+                result = 0;
-+                if (i != 5 && *(macstr+2) != ':') {
-+                        ERR("invalid mac address format: %d %c\n",
-+                            i, *(macstr+2));
-+                        return -EINVAL;
-+                }
-+                for (j=0; j<2; j++) {
-+                        if (isxdigit(*macstr) && (value = isdigit(*macstr) ? *macstr-'0' :
-+                                                  toupper(*macstr)-'A'+10) < 16) {
-+                                result = result*16 + value;
-+                                macstr++;
-+                        }
-+                        else {
-+                                ERR("invalid mac address "
-+                                    "character: %c\n", *macstr);
-+                                return -EINVAL;
-+                        }
-+                }
-+
-+                macstr++;
-+                dev->dev_addr[i] = result;
-+        }
-+
-+      dev->dev_addr[5]++;
-+        return 0;
-+}
-+
-+#endif
-+
- static inline void __iomem *ns_ioaddr(struct net_device *dev)
- {
-       return (void __iomem *) dev->base_addr;
-@@ -859,6 +902,7 @@
-               goto err_ioremap;
-       }
-+#ifndef CONFIG_MACH_ARUBA
-       /* Work around the dropped serial bit. */
-       prev_eedata = eeprom_read(ioaddr, 6);
-       for (i = 0; i < 3; i++) {
-@@ -867,6 +911,19 @@
-               dev->dev_addr[i*2+1] = eedata >> 7;
-               prev_eedata = eedata;
-       }
-+#else
-+      {
-+              char mac[32];
-+              unsigned char def_mac[6] = {00, 0x0b, 0x86, 0xba, 0xdb, 0xad};
-+              extern char *getenv(char *e);
-+              memset(mac, 0, 32);
-+              memcpy(mac, getenv("ethaddr"), 17);
-+              if (parse_mac_addr(dev, mac)){
-+                      printk("%s: MAC address not found\n", __func__);
-+                      memcpy(dev->dev_addr, def_mac, 6);
-+              }
-+      }
-+#endif
-       dev->base_addr = (unsigned long __force) ioaddr;
-       dev->irq = irq;
-diff -Nur linux-2.6.15/drivers/net/Makefile linux-2.6.15-openwrt/drivers/net/Makefile
---- linux-2.6.15/drivers/net/Makefile  2006-01-13 09:19:55.000000000 -0800
-+++ linux-2.6.15-openwrt/drivers/net/Makefile  2006-01-09 20:44:10.378339000 -0800
-@@ -35,6 +35,7 @@
- obj-$(CONFIG_OAKNET) += oaknet.o 8390.o
-+obj-$(CONFIG_IDT_RC32434_ETH) += rc32434_eth.o
- obj-$(CONFIG_DGRS) += dgrs.o
- obj-$(CONFIG_VORTEX) += 3c59x.o
- obj-$(CONFIG_TYPHOON) += typhoon.o
-@@ -190,7 +189,6 @@
- obj-$(CONFIG_SMC91X) += smc91x.o
- obj-$(CONFIG_DM9000) += dm9000.o
- obj-$(CONFIG_FEC_8XX) += fec_8xx/
--obj-$(CONFIG_IDT_RC32434_ETH) += rc32434_eth.o
- obj-$(CONFIG_ARM) += arm/
- obj-$(CONFIG_DEV_APPLETALK) += appletalk/
+ /* Trap pasters of __FUNCTION__ at compile-time */