add wrt54g v4 support
authorFelix Fietkau <nbd@openwrt.org>
Mon, 22 Aug 2005 01:57:20 +0000 (01:57 +0000)
committerFelix Fietkau <nbd@openwrt.org>
Mon, 22 Aug 2005 01:57:20 +0000 (01:57 +0000)
SVN-Revision: 1715

openwrt/target/linux/linux-2.4/patches/brcm/001-bcm47xx.patch
openwrt/target/linux/linux-2.4/patches/brcm/005-diag_led.patch [new file with mode: 0644]

index 6a13cb0091bd745cc0bc5297e7f60575902e512b..5d162c43dd7cfe9f78a33a7790d5023de6c0ea55 100644 (file)
@@ -1,6 +1,167 @@
-diff -Nur linux-2.4.30/arch/mips/bcm947xx/compressed/Makefile linux-2.4.30-brcm/arch/mips/bcm947xx/compressed/Makefile
+diff -urN linux-2.4.30/Makefile linux-2.4.30.dev/Makefile
+--- linux-2.4.30/Makefile      2005-08-22 01:29:09.268391576 +0200
++++ linux-2.4.30.dev/Makefile  2005-08-22 01:34:46.669098872 +0200
+@@ -17,9 +17,9 @@
+ FINDHPATH     = $(HPATH)/asm $(HPATH)/linux $(HPATH)/scsi $(HPATH)/net $(HPATH)/math-emu
+ HOSTCC        = gcc
+-HOSTCFLAGS    = -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer
++HOSTCFLAGS    = -Wall -Wstrict-prototypes -Os -fomit-frame-pointer
+-CROSS_COMPILE         =
++CROSS_COMPILE=
+ #
+ # Include the make variables (CC, etc...)
+@@ -91,8 +91,10 @@
+ CPPFLAGS := -D__KERNEL__ -I$(HPATH)
+-CFLAGS := $(CPPFLAGS) -Wall -Wstrict-prototypes -Wno-trigraphs -O2 \
++CFLAGS := $(CPPFLAGS) -Wall -Wstrict-prototypes -Wno-trigraphs -Os \
+         -fno-strict-aliasing -fno-common
++
++
+ ifndef CONFIG_FRAME_POINTER
+ CFLAGS += -fomit-frame-pointer
+ endif
+@@ -354,7 +356,7 @@
+       @rm -f .ver1
+ include/linux/version.h: ./Makefile
+-      @expr length "$(KERNELRELEASE)" \<= $(uts_len) > /dev/null || \
++      @-expr length "$(KERNELRELEASE)" \<= $(uts_len) > /dev/null || \
+         (echo KERNELRELEASE \"$(KERNELRELEASE)\" exceeds $(uts_len) characters >&2; false)
+       @echo \#define UTS_RELEASE \"$(KERNELRELEASE)\" > .ver
+       @echo \#define LINUX_VERSION_CODE `expr $(VERSION) \\* 65536 + $(PATCHLEVEL) \\* 256 + $(SUBLEVEL)` >> .ver
+@@ -501,7 +503,7 @@
+ ifdef CONFIG_MODVERSIONS
+       $(MAKE) update-modverfile
+ endif
+-      scripts/mkdep -- `find $(FINDHPATH) \( -name SCCS -o -name .svn \) -prune -o -follow -name \*.h ! -name modversions.h -print` > .hdepend
++      (find $(FINDHPATH) \( -name SCCS -o -name .svn \) -prune -o -follow -name \*.h ! -name modversions.h -print | xargs -r scripts/mkdep -- ) > .hdepend
+       scripts/mkdep -- init/*.c > .depend
+ ifdef CONFIG_MODVERSIONS
+diff -urN linux-2.4.30/Rules.make linux-2.4.30.dev/Rules.make
+--- linux-2.4.30/Rules.make    2004-02-18 14:36:30.000000000 +0100
++++ linux-2.4.30.dev/Rules.make        2005-08-22 01:34:46.683096744 +0200
+@@ -176,7 +176,14 @@
+ _modinst__: dummy
+ ifneq "$(strip $(ALL_MOBJS))" ""
+       mkdir -p $(MODLIB)/kernel/$(MOD_DESTDIR)
+-      cp $(sort $(ALL_MOBJS)) $(MODLIB)/kernel/$(MOD_DESTDIR)
++      #@cp $(sort $(ALL_MOBJS)) $(MODLIB)/kernel/$(MOD_DESTDIR)
++      for f in $(ALL_MOBJS) ; do \
++              $(OBJCOPY) -R __ksymtab -R .comment -R .note -x \
++              `$(NM) $$f | cut -f3- -d' ' | sed -n \
++                      -e 's/__module_parm_\(.*\)/-K \1/p' \
++                      -e 's/__ks..tab_\(.*\)/-K \1/p'` \
++              $$f $(MODLIB)/kernel/$(MOD_DESTDIR)$(MOD_TARGET)$$f; \
++      done
+ endif
+ .PHONY: modules_install
+diff -urN linux-2.4.30/arch/mips/Makefile linux-2.4.30.dev/arch/mips/Makefile
+--- linux-2.4.30/arch/mips/Makefile    2005-08-22 01:29:09.270391272 +0200
++++ linux-2.4.30.dev/arch/mips/Makefile        2005-08-22 01:34:46.370144320 +0200
+@@ -46,10 +46,10 @@
+ GCCFLAGS      := -I $(TOPDIR)/include/asm/gcc
+ GCCFLAGS      += -G 0 -mno-abicalls -fno-pic -pipe
+ GCCFLAGS      += $(call check_gcc, -finline-limit=100000,)
+-LINKFLAGS     += -G 0 -static -n
+-MODFLAGS      += -mlong-calls
++LINKFLAGS     += -G 0 -static -n -nostdlib
++MODFLAGS      += -mlong-calls -fno-common
+-ifdef CONFIG_DEBUG_INFO
++ifdef CONFIG_REMOTE_DEBUG
+ GCCFLAGS      += -g
+ ifdef CONFIG_SB1XXX_CORELIS
+ GCCFLAGS      += -mno-sched-prolog -fno-omit-frame-pointer
+@@ -71,13 +71,13 @@
+ set_gccflags = $(shell \
+ while :; do \
+       cpu=$(1); isa=-$(2); \
+-      for gcc_opt in -march= -mcpu=; do \
++      for gcc_opt in -march= -mtune=; do \
+               $(CC) $$gcc_opt$$cpu $$isa -S -o /dev/null \
+                       -xc /dev/null > /dev/null 2>&1 && \
+                       break 2; \
+       done; \
+       cpu=$(3); isa=-$(4); \
+-      for gcc_opt in -march= -mcpu=; do \
++      for gcc_opt in -march= -mtune=; do \
+               $(CC) $$gcc_opt$$cpu $$isa -S -o /dev/null \
+                       -xc /dev/null > /dev/null 2>&1 && \
+                       break 2; \
+@@ -92,7 +92,7 @@
+ fi; \
+ gas_abi=-Wa,-32; gas_cpu=$$cpu; gas_isa=-Wa,$$isa; \
+ while :; do \
+-      for gas_opt in -Wa,-march= -Wa,-mcpu=; do \
++      for gas_opt in -Wa,-march= -Wa,-mtune=; do \
+               $(CC) $$gas_abi $$gas_opt$$cpu $$gas_isa -Wa,-Z -c \
+                       -o /dev/null -xassembler /dev/null > /dev/null 2>&1 && \
+                       break 2; \
+@@ -174,6 +174,7 @@
+ endif
+ AFLAGS                += $(GCCFLAGS)
++ASFLAGS               += $(GCCFLAGS)
+ CFLAGS                += $(GCCFLAGS)
+ LD            += -m $(ld-emul)
+@@ -727,6 +728,19 @@
+ endif
+ #
++# Broadcom BCM947XX variants
++#
++ifdef CONFIG_BCM947XX
++LIBS          += arch/mips/bcm947xx/generic/brcm.o arch/mips/bcm947xx/bcm947xx.o 
++SUBDIRS               += arch/mips/bcm947xx/generic arch/mips/bcm947xx 
++LOADADDR      := 0x80001000
++
++zImage: vmlinux
++      $(MAKE) -C arch/$(ARCH)/bcm947xx/compressed
++export LOADADDR
++endif
++
++#
+ # Choosing incompatible machines durings configuration will result in
+ # error messages during linking.  Select a default linkscript if
+ # none has been choosen above.
+@@ -779,6 +793,7 @@
+       $(MAKE) -C arch/$(ARCH)/tools clean
+       $(MAKE) -C arch/mips/baget clean
+       $(MAKE) -C arch/mips/lasat clean
++      $(MAKE) -C arch/mips/bcm947xx/compressed clean
+ archmrproper:
+       @$(MAKEBOOT) mrproper
+diff -urN linux-2.4.30/arch/mips/bcm947xx/Makefile linux-2.4.30.dev/arch/mips/bcm947xx/Makefile
+--- linux-2.4.30/arch/mips/bcm947xx/Makefile   1970-01-01 01:00:00.000000000 +0100
++++ linux-2.4.30.dev/arch/mips/bcm947xx/Makefile       2005-08-22 01:34:46.340148880 +0200
+@@ -0,0 +1,15 @@
++#
++# Makefile for the BCM947xx specific kernel interface routines
++# under Linux.
++#
++
++EXTRA_CFLAGS+=-I$(TOPDIR)/arch/mips/bcm947xx/include -DBCMDRIVER
++
++O_TARGET        := bcm947xx.o
++
++export-objs     := nvram_linux.o setup.o
++obj-y         := prom.o setup.o time.o sbmips.o gpio.o
++obj-y         += nvram.o nvram_linux.o
++obj-$(CONFIG_PCI) += sbpci.o pcibios.o
++
++include $(TOPDIR)/Rules.make
+diff -urN linux-2.4.30/arch/mips/bcm947xx/compressed/Makefile linux-2.4.30.dev/arch/mips/bcm947xx/compressed/Makefile
 --- linux-2.4.30/arch/mips/bcm947xx/compressed/Makefile        1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.30-brcm/arch/mips/bcm947xx/compressed/Makefile   2005-05-26 03:29:22.000000000 +0200
++++ linux-2.4.30.dev/arch/mips/bcm947xx/compressed/Makefile    2005-08-22 01:34:46.261160888 +0200
 @@ -0,0 +1,33 @@
 +#
 +# Makefile for Broadcom BCM947XX boards
@@ -35,9 +196,28 @@ diff -Nur linux-2.4.30/arch/mips/bcm947xx/compressed/Makefile linux-2.4.30-brcm/
 +
 +clean:
 +      rm -f vmlinuz piggy
-diff -Nur linux-2.4.30/arch/mips/bcm947xx/generic/int-handler.S linux-2.4.30-brcm/arch/mips/bcm947xx/generic/int-handler.S
+diff -urN linux-2.4.30/arch/mips/bcm947xx/generic/Makefile linux-2.4.30.dev/arch/mips/bcm947xx/generic/Makefile
+--- linux-2.4.30/arch/mips/bcm947xx/generic/Makefile   1970-01-01 01:00:00.000000000 +0100
++++ linux-2.4.30.dev/arch/mips/bcm947xx/generic/Makefile       2005-08-22 01:34:46.280158000 +0200
+@@ -0,0 +1,15 @@
++#
++# Makefile for the BCM947xx specific kernel interface routines
++# under Linux.
++#
++
++.S.s:
++      $(CPP) $(AFLAGS) $< -o $*.s
++.S.o:
++      $(CC) $(AFLAGS) -c $< -o $*.o
++
++O_TARGET        := brcm.o
++
++obj-y := int-handler.o irq.o
++
++include $(TOPDIR)/Rules.make
+diff -urN linux-2.4.30/arch/mips/bcm947xx/generic/int-handler.S linux-2.4.30.dev/arch/mips/bcm947xx/generic/int-handler.S
 --- linux-2.4.30/arch/mips/bcm947xx/generic/int-handler.S      1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.30-brcm/arch/mips/bcm947xx/generic/int-handler.S 2005-05-22 22:55:51.000000000 +0200
++++ linux-2.4.30.dev/arch/mips/bcm947xx/generic/int-handler.S  2005-08-22 01:34:46.280158000 +0200
 @@ -0,0 +1,51 @@
 +/*
 + * Generic interrupt handler for Broadcom MIPS boards
@@ -90,9 +270,9 @@ diff -Nur linux-2.4.30/arch/mips/bcm947xx/generic/int-handler.S linux-2.4.30-brc
 +       nop
 +              
 +      END(brcmIRQ)
-diff -Nur linux-2.4.30/arch/mips/bcm947xx/generic/irq.c linux-2.4.30-brcm/arch/mips/bcm947xx/generic/irq.c
+diff -urN linux-2.4.30/arch/mips/bcm947xx/generic/irq.c linux-2.4.30.dev/arch/mips/bcm947xx/generic/irq.c
 --- linux-2.4.30/arch/mips/bcm947xx/generic/irq.c      1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.30-brcm/arch/mips/bcm947xx/generic/irq.c 2005-05-22 22:55:51.000000000 +0200
++++ linux-2.4.30.dev/arch/mips/bcm947xx/generic/irq.c  2005-08-22 01:34:46.280158000 +0200
 @@ -0,0 +1,130 @@
 +/*
 + * Generic interrupt control functions for Broadcom MIPS boards
@@ -224,28 +404,9 @@ diff -Nur linux-2.4.30/arch/mips/bcm947xx/generic/irq.c linux-2.4.30-brcm/arch/m
 +      breakpoint(); 
 +#endif
 +}
-diff -Nur linux-2.4.30/arch/mips/bcm947xx/generic/Makefile linux-2.4.30-brcm/arch/mips/bcm947xx/generic/Makefile
---- linux-2.4.30/arch/mips/bcm947xx/generic/Makefile   1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.30-brcm/arch/mips/bcm947xx/generic/Makefile      2005-05-25 18:53:41.000000000 +0200
-@@ -0,0 +1,15 @@
-+#
-+# Makefile for the BCM947xx specific kernel interface routines
-+# under Linux.
-+#
-+
-+.S.s:
-+      $(CPP) $(AFLAGS) $< -o $*.s
-+.S.o:
-+      $(CC) $(AFLAGS) -c $< -o $*.o
-+
-+O_TARGET        := brcm.o
-+
-+obj-y := int-handler.o irq.o
-+
-+include $(TOPDIR)/Rules.make
-diff -Nur linux-2.4.30/arch/mips/bcm947xx/gpio.c linux-2.4.30-brcm/arch/mips/bcm947xx/gpio.c
+diff -urN linux-2.4.30/arch/mips/bcm947xx/gpio.c linux-2.4.30.dev/arch/mips/bcm947xx/gpio.c
 --- linux-2.4.30/arch/mips/bcm947xx/gpio.c     1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.30-brcm/arch/mips/bcm947xx/gpio.c        2005-05-22 22:55:51.000000000 +0200
++++ linux-2.4.30.dev/arch/mips/bcm947xx/gpio.c 2005-08-22 01:34:46.281157848 +0200
 @@ -0,0 +1,158 @@
 +/*
 + * GPIO char driver
@@ -405,9 +566,9 @@ diff -Nur linux-2.4.30/arch/mips/bcm947xx/gpio.c linux-2.4.30-brcm/arch/mips/bcm
 +
 +module_init(gpio_init);
 +module_exit(gpio_exit);
-diff -Nur linux-2.4.30/arch/mips/bcm947xx/include/bcmdevs.h linux-2.4.30-brcm/arch/mips/bcm947xx/include/bcmdevs.h
+diff -urN linux-2.4.30/arch/mips/bcm947xx/include/bcmdevs.h linux-2.4.30.dev/arch/mips/bcm947xx/include/bcmdevs.h
 --- linux-2.4.30/arch/mips/bcm947xx/include/bcmdevs.h  1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.30-brcm/arch/mips/bcm947xx/include/bcmdevs.h     2005-05-25 20:30:26.000000000 +0200
++++ linux-2.4.30.dev/arch/mips/bcm947xx/include/bcmdevs.h      2005-08-22 01:34:46.282157696 +0200
 @@ -0,0 +1,369 @@
 +/*
 + * Broadcom device-specific manifest constants.
@@ -778,9 +939,9 @@ diff -Nur linux-2.4.30/arch/mips/bcm947xx/include/bcmdevs.h linux-2.4.30-brcm/ar
 +#define GPIO_NUMPINS          16
 +
 +#endif /* _BCMDEVS_H */
-diff -Nur linux-2.4.30/arch/mips/bcm947xx/include/bcmendian.h linux-2.4.30-brcm/arch/mips/bcm947xx/include/bcmendian.h
+diff -urN linux-2.4.30/arch/mips/bcm947xx/include/bcmendian.h linux-2.4.30.dev/arch/mips/bcm947xx/include/bcmendian.h
 --- linux-2.4.30/arch/mips/bcm947xx/include/bcmendian.h        1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.30-brcm/arch/mips/bcm947xx/include/bcmendian.h   2005-02-02 23:16:39.000000000 +0100
++++ linux-2.4.30.dev/arch/mips/bcm947xx/include/bcmendian.h    2005-08-22 01:34:46.282157696 +0200
 @@ -0,0 +1,168 @@
 +/*
 + * local version of endian.h - byte order defines
@@ -950,9 +1111,9 @@ diff -Nur linux-2.4.30/arch/mips/bcm947xx/include/bcmendian.h linux-2.4.30-brcm/
 +#endif
 +
 +#endif /* _BCMENDIAN_H_ */
-diff -Nur linux-2.4.30/arch/mips/bcm947xx/include/bcmenet47xx.h linux-2.4.30-brcm/arch/mips/bcm947xx/include/bcmenet47xx.h
+diff -urN linux-2.4.30/arch/mips/bcm947xx/include/bcmenet47xx.h linux-2.4.30.dev/arch/mips/bcm947xx/include/bcmenet47xx.h
 --- linux-2.4.30/arch/mips/bcm947xx/include/bcmenet47xx.h      1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.30-brcm/arch/mips/bcm947xx/include/bcmenet47xx.h 2005-02-02 23:16:39.000000000 +0100
++++ linux-2.4.30.dev/arch/mips/bcm947xx/include/bcmenet47xx.h  2005-08-22 01:34:46.284157392 +0200
 @@ -0,0 +1,229 @@
 +/*
 + * Hardware-specific definitions for
@@ -1183,9 +1344,9 @@ diff -Nur linux-2.4.30/arch/mips/bcm947xx/include/bcmenet47xx.h linux-2.4.30-brc
 +#define       EMC_RZ          ((uint32)1 << 0)        /* autoclear on read */
 +
 +#endif        /* _bcmenet_47xx_h_ */
-diff -Nur linux-2.4.30/arch/mips/bcm947xx/include/bcmenetmib.h linux-2.4.30-brcm/arch/mips/bcm947xx/include/bcmenetmib.h
+diff -urN linux-2.4.30/arch/mips/bcm947xx/include/bcmenetmib.h linux-2.4.30.dev/arch/mips/bcm947xx/include/bcmenetmib.h
 --- linux-2.4.30/arch/mips/bcm947xx/include/bcmenetmib.h       1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.30-brcm/arch/mips/bcm947xx/include/bcmenetmib.h  2005-02-02 23:16:39.000000000 +0100
++++ linux-2.4.30.dev/arch/mips/bcm947xx/include/bcmenetmib.h   2005-08-22 01:34:46.284157392 +0200
 @@ -0,0 +1,81 @@
 +/*
 + * Hardware-specific MIB definition for
@@ -1268,9 +1429,9 @@ diff -Nur linux-2.4.30/arch/mips/bcm947xx/include/bcmenetmib.h linux-2.4.30-brcm
 +} bcmenetmib_t;
 +
 +#endif        /* _bcmenetmib_h_ */
-diff -Nur linux-2.4.30/arch/mips/bcm947xx/include/bcmenetphy.h linux-2.4.30-brcm/arch/mips/bcm947xx/include/bcmenetphy.h
+diff -urN linux-2.4.30/arch/mips/bcm947xx/include/bcmenetphy.h linux-2.4.30.dev/arch/mips/bcm947xx/include/bcmenetphy.h
 --- linux-2.4.30/arch/mips/bcm947xx/include/bcmenetphy.h       1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.30-brcm/arch/mips/bcm947xx/include/bcmenetphy.h  2005-02-02 23:16:39.000000000 +0100
++++ linux-2.4.30.dev/arch/mips/bcm947xx/include/bcmenetphy.h   2005-08-22 01:34:46.284157392 +0200
 @@ -0,0 +1,58 @@
 +/*
 + * Misc Broadcom BCM47XX MDC/MDIO enet phy definitions.
@@ -1330,9 +1491,9 @@ diff -Nur linux-2.4.30/arch/mips/bcm947xx/include/bcmenetphy.h linux-2.4.30-brcm
 +#define       AUX_DUPLEX      (1 << 0)                /* duplex 0=half 1=full */
 +
 +#endif        /* _bcmenetphy_h_ */
-diff -Nur linux-2.4.30/arch/mips/bcm947xx/include/bcmenetrxh.h linux-2.4.30-brcm/arch/mips/bcm947xx/include/bcmenetrxh.h
+diff -urN linux-2.4.30/arch/mips/bcm947xx/include/bcmenetrxh.h linux-2.4.30.dev/arch/mips/bcm947xx/include/bcmenetrxh.h
 --- linux-2.4.30/arch/mips/bcm947xx/include/bcmenetrxh.h       1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.30-brcm/arch/mips/bcm947xx/include/bcmenetrxh.h  2005-02-02 23:16:39.000000000 +0100
++++ linux-2.4.30.dev/arch/mips/bcm947xx/include/bcmenetrxh.h   2005-08-22 01:34:46.285157240 +0200
 @@ -0,0 +1,43 @@
 +/*
 + * Hardware-specific Receive Data Header for the
@@ -1377,9 +1538,9 @@ diff -Nur linux-2.4.30/arch/mips/bcm947xx/include/bcmenetrxh.h linux-2.4.30-brcm
 +#define       RXF_OV          ((uint16)1 << 0)        /* fifo overflow */
 +
 +#endif        /* _bcmenetrxh_h_ */
-diff -Nur linux-2.4.30/arch/mips/bcm947xx/include/bcmnvram.h linux-2.4.30-brcm/arch/mips/bcm947xx/include/bcmnvram.h
+diff -urN linux-2.4.30/arch/mips/bcm947xx/include/bcmnvram.h linux-2.4.30.dev/arch/mips/bcm947xx/include/bcmnvram.h
 --- linux-2.4.30/arch/mips/bcm947xx/include/bcmnvram.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.30-brcm/arch/mips/bcm947xx/include/bcmnvram.h    2005-02-02 23:16:39.000000000 +0100
++++ linux-2.4.30.dev/arch/mips/bcm947xx/include/bcmnvram.h     2005-08-22 01:34:46.285157240 +0200
 @@ -0,0 +1,132 @@
 +/*
 + * NVRAM variable manipulation
@@ -1513,9 +1674,9 @@ diff -Nur linux-2.4.30/arch/mips/bcm947xx/include/bcmnvram.h linux-2.4.30-brcm/a
 +#define NVRAM_SPACE           0x8000
 +
 +#endif /* _bcmnvram_h_ */
-diff -Nur linux-2.4.30/arch/mips/bcm947xx/include/bcmparams.h linux-2.4.30-brcm/arch/mips/bcm947xx/include/bcmparams.h
+diff -urN linux-2.4.30/arch/mips/bcm947xx/include/bcmparams.h linux-2.4.30.dev/arch/mips/bcm947xx/include/bcmparams.h
 --- linux-2.4.30/arch/mips/bcm947xx/include/bcmparams.h        1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.30-brcm/arch/mips/bcm947xx/include/bcmparams.h   2005-02-02 23:16:39.000000000 +0100
++++ linux-2.4.30.dev/arch/mips/bcm947xx/include/bcmparams.h    2005-08-22 01:34:46.286157088 +0200
 @@ -0,0 +1,23 @@
 +/*
 + * Misc system wide parameters.
@@ -1540,9 +1701,9 @@ diff -Nur linux-2.4.30/arch/mips/bcm947xx/include/bcmparams.h linux-2.4.30-brcm/
 +#define DEV_NUMIFS    16      /* Max. # of devices/interfaces supported */
 +
 +#endif
-diff -Nur linux-2.4.30/arch/mips/bcm947xx/include/bcmsrom.h linux-2.4.30-brcm/arch/mips/bcm947xx/include/bcmsrom.h
+diff -urN linux-2.4.30/arch/mips/bcm947xx/include/bcmsrom.h linux-2.4.30.dev/arch/mips/bcm947xx/include/bcmsrom.h
 --- linux-2.4.30/arch/mips/bcm947xx/include/bcmsrom.h  1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.30-brcm/arch/mips/bcm947xx/include/bcmsrom.h     2005-02-02 23:16:39.000000000 +0100
++++ linux-2.4.30.dev/arch/mips/bcm947xx/include/bcmsrom.h      2005-08-22 01:34:46.286157088 +0200
 @@ -0,0 +1,22 @@
 +/*
 + * Misc useful routines to access NIC local SROM/OTP .
@@ -1566,9 +1727,9 @@ diff -Nur linux-2.4.30/arch/mips/bcm947xx/include/bcmsrom.h linux-2.4.30-brcm/ar
 +extern int srom_write(uint bus, void *curmap, void *osh, uint byteoff, uint nbytes, uint16 *buf);
 +         
 +#endif        /* _bcmsrom_h_ */
-diff -Nur linux-2.4.30/arch/mips/bcm947xx/include/bcmutils.h linux-2.4.30-brcm/arch/mips/bcm947xx/include/bcmutils.h
+diff -urN linux-2.4.30/arch/mips/bcm947xx/include/bcmutils.h linux-2.4.30.dev/arch/mips/bcm947xx/include/bcmutils.h
 --- linux-2.4.30/arch/mips/bcm947xx/include/bcmutils.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.30-brcm/arch/mips/bcm947xx/include/bcmutils.h    2005-02-02 23:16:39.000000000 +0100
++++ linux-2.4.30.dev/arch/mips/bcm947xx/include/bcmutils.h     2005-08-22 01:34:46.314152832 +0200
 @@ -0,0 +1,239 @@
 +/*
 + * Misc useful os-independent macros and functions.
@@ -1809,9 +1970,9 @@ diff -Nur linux-2.4.30/arch/mips/bcm947xx/include/bcmutils.h linux-2.4.30-brcm/a
 +#define       mboolmaskset(mb, mask, val)     ((mb) = (((mb) & ~(mask)) | (val)))
 +
 +#endif        /* _bcmutils_h_ */
-diff -Nur linux-2.4.30/arch/mips/bcm947xx/include/bitfuncs.h linux-2.4.30-brcm/arch/mips/bcm947xx/include/bitfuncs.h
+diff -urN linux-2.4.30/arch/mips/bcm947xx/include/bitfuncs.h linux-2.4.30.dev/arch/mips/bcm947xx/include/bitfuncs.h
 --- linux-2.4.30/arch/mips/bcm947xx/include/bitfuncs.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.30-brcm/arch/mips/bcm947xx/include/bitfuncs.h    2005-02-02 23:16:39.000000000 +0100
++++ linux-2.4.30.dev/arch/mips/bcm947xx/include/bitfuncs.h     2005-08-22 01:34:46.314152832 +0200
 @@ -0,0 +1,85 @@
 +/*
 + * bit manipulation utility functions
@@ -1898,9 +2059,9 @@ diff -Nur linux-2.4.30/arch/mips/bcm947xx/include/bitfuncs.h linux-2.4.30-brcm/a
 +#endif
 +
 +#endif /* _BITFUNCS_H */
-diff -Nur linux-2.4.30/arch/mips/bcm947xx/include/cfe_osl.h linux-2.4.30-brcm/arch/mips/bcm947xx/include/cfe_osl.h
+diff -urN linux-2.4.30/arch/mips/bcm947xx/include/cfe_osl.h linux-2.4.30.dev/arch/mips/bcm947xx/include/cfe_osl.h
 --- linux-2.4.30/arch/mips/bcm947xx/include/cfe_osl.h  1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.30-brcm/arch/mips/bcm947xx/include/cfe_osl.h     2005-02-02 23:16:39.000000000 +0100
++++ linux-2.4.30.dev/arch/mips/bcm947xx/include/cfe_osl.h      2005-08-22 01:34:46.315152680 +0200
 @@ -0,0 +1,184 @@
 +/*
 + * CFE boot loader OS Abstraction Layer.
@@ -2086,9 +2247,9 @@ diff -Nur linux-2.4.30/arch/mips/bcm947xx/include/cfe_osl.h linux-2.4.30-brcm/ar
 +extern struct lbuf *osl_pktdup(struct lbuf *lb);
 +
 +#endif        /* _cfe_osl_h_ */
-diff -Nur linux-2.4.30/arch/mips/bcm947xx/include/epivers.h linux-2.4.30-brcm/arch/mips/bcm947xx/include/epivers.h
+diff -urN linux-2.4.30/arch/mips/bcm947xx/include/epivers.h linux-2.4.30.dev/arch/mips/bcm947xx/include/epivers.h
 --- linux-2.4.30/arch/mips/bcm947xx/include/epivers.h  1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.30-brcm/arch/mips/bcm947xx/include/epivers.h     2005-02-02 23:16:39.000000000 +0100
++++ linux-2.4.30.dev/arch/mips/bcm947xx/include/epivers.h      2005-08-22 01:34:46.315152680 +0200
 @@ -0,0 +1,69 @@
 +/*
 + * Copyright 2005, Broadcom Corporation
@@ -2159,9 +2320,9 @@ diff -Nur linux-2.4.30/arch/mips/bcm947xx/include/epivers.h linux-2.4.30-brcm/ar
 +#define       EPI_ROUTER_VERSION_STR  "3.91.23.0"
 +
 +#endif /* _epivers_h_ */
-diff -Nur linux-2.4.30/arch/mips/bcm947xx/include/epivers.h.in linux-2.4.30-brcm/arch/mips/bcm947xx/include/epivers.h.in
+diff -urN linux-2.4.30/arch/mips/bcm947xx/include/epivers.h.in linux-2.4.30.dev/arch/mips/bcm947xx/include/epivers.h.in
 --- linux-2.4.30/arch/mips/bcm947xx/include/epivers.h.in       1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.30-brcm/arch/mips/bcm947xx/include/epivers.h.in  2005-02-02 23:16:39.000000000 +0100
++++ linux-2.4.30.dev/arch/mips/bcm947xx/include/epivers.h.in   2005-08-22 01:34:46.316152528 +0200
 @@ -0,0 +1,69 @@
 +/*
 + * Copyright 2005, Broadcom Corporation
@@ -2232,9 +2393,9 @@ diff -Nur linux-2.4.30/arch/mips/bcm947xx/include/epivers.h.in linux-2.4.30-brcm
 +#define       EPI_ROUTER_VERSION_STR  "@EPI_ROUTER_VERSION_STR@"
 +
 +#endif /* _epivers_h_ */
-diff -Nur linux-2.4.30/arch/mips/bcm947xx/include/etsockio.h linux-2.4.30-brcm/arch/mips/bcm947xx/include/etsockio.h
+diff -urN linux-2.4.30/arch/mips/bcm947xx/include/etsockio.h linux-2.4.30.dev/arch/mips/bcm947xx/include/etsockio.h
 --- linux-2.4.30/arch/mips/bcm947xx/include/etsockio.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.30-brcm/arch/mips/bcm947xx/include/etsockio.h    2005-02-02 23:16:39.000000000 +0100
++++ linux-2.4.30.dev/arch/mips/bcm947xx/include/etsockio.h     2005-08-22 01:34:46.316152528 +0200
 @@ -0,0 +1,59 @@
 +/*
 + * Driver-specific socket ioctls
@@ -2295,9 +2456,9 @@ diff -Nur linux-2.4.30/arch/mips/bcm947xx/include/etsockio.h linux-2.4.30-brcm/a
 +};
 +
 +#endif
-diff -Nur linux-2.4.30/arch/mips/bcm947xx/include/flash.h linux-2.4.30-brcm/arch/mips/bcm947xx/include/flash.h
+diff -urN linux-2.4.30/arch/mips/bcm947xx/include/flash.h linux-2.4.30.dev/arch/mips/bcm947xx/include/flash.h
 --- linux-2.4.30/arch/mips/bcm947xx/include/flash.h    1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.30-brcm/arch/mips/bcm947xx/include/flash.h       2005-02-02 23:16:39.000000000 +0100
++++ linux-2.4.30.dev/arch/mips/bcm947xx/include/flash.h        2005-08-22 01:34:46.317152376 +0200
 @@ -0,0 +1,188 @@
 +/*
 + * flash.h: Common definitions for flash access.
@@ -2487,9 +2648,9 @@ diff -Nur linux-2.4.30/arch/mips/bcm947xx/include/flash.h linux-2.4.30-brcm/arch
 +extern flash_desc_t flashes[];
 +
 +#endif
-diff -Nur linux-2.4.30/arch/mips/bcm947xx/include/flashutl.h linux-2.4.30-brcm/arch/mips/bcm947xx/include/flashutl.h
+diff -urN linux-2.4.30/arch/mips/bcm947xx/include/flashutl.h linux-2.4.30.dev/arch/mips/bcm947xx/include/flashutl.h
 --- linux-2.4.30/arch/mips/bcm947xx/include/flashutl.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.30-brcm/arch/mips/bcm947xx/include/flashutl.h    2005-02-02 23:16:39.000000000 +0100
++++ linux-2.4.30.dev/arch/mips/bcm947xx/include/flashutl.h     2005-08-22 01:34:46.317152376 +0200
 @@ -0,0 +1,27 @@
 +/*
 + * BCM47XX FLASH driver interface
@@ -2518,9 +2679,9 @@ diff -Nur linux-2.4.30/arch/mips/bcm947xx/include/flashutl.h linux-2.4.30-brcm/a
 +#endif        /* _LANGUAGE_ASSEMBLY */
 +
 +#endif /* _flashutl_h_ */
-diff -Nur linux-2.4.30/arch/mips/bcm947xx/include/hnddma.h linux-2.4.30-brcm/arch/mips/bcm947xx/include/hnddma.h
+diff -urN linux-2.4.30/arch/mips/bcm947xx/include/hnddma.h linux-2.4.30.dev/arch/mips/bcm947xx/include/hnddma.h
 --- linux-2.4.30/arch/mips/bcm947xx/include/hnddma.h   1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.30-brcm/arch/mips/bcm947xx/include/hnddma.h      2005-02-02 23:16:39.000000000 +0100
++++ linux-2.4.30.dev/arch/mips/bcm947xx/include/hnddma.h       2005-08-22 01:34:46.318152224 +0200
 @@ -0,0 +1,184 @@
 +/*
 + * Generic Broadcom Home Networking Division (HND) DMA engine definitions.
@@ -2706,9 +2867,9 @@ diff -Nur linux-2.4.30/arch/mips/bcm947xx/include/hnddma.h linux-2.4.30-brcm/arc
 +
 +
 +#endif        /* _hnddma_h_ */
-diff -Nur linux-2.4.30/arch/mips/bcm947xx/include/hndmips.h linux-2.4.30-brcm/arch/mips/bcm947xx/include/hndmips.h
+diff -urN linux-2.4.30/arch/mips/bcm947xx/include/hndmips.h linux-2.4.30.dev/arch/mips/bcm947xx/include/hndmips.h
 --- linux-2.4.30/arch/mips/bcm947xx/include/hndmips.h  1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.30-brcm/arch/mips/bcm947xx/include/hndmips.h     2005-02-02 23:16:39.000000000 +0100
++++ linux-2.4.30.dev/arch/mips/bcm947xx/include/hndmips.h      2005-08-22 01:34:46.318152224 +0200
 @@ -0,0 +1,16 @@
 +/*
 + * Alternate include file for HND sbmips.h since CFE also ships with
@@ -2726,9 +2887,9 @@ diff -Nur linux-2.4.30/arch/mips/bcm947xx/include/hndmips.h linux-2.4.30-brcm/ar
 + */
 +
 +#include "sbmips.h"
-diff -Nur linux-2.4.30/arch/mips/bcm947xx/include/linux_osl.h linux-2.4.30-brcm/arch/mips/bcm947xx/include/linux_osl.h
+diff -urN linux-2.4.30/arch/mips/bcm947xx/include/linux_osl.h linux-2.4.30.dev/arch/mips/bcm947xx/include/linux_osl.h
 --- linux-2.4.30/arch/mips/bcm947xx/include/linux_osl.h        1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.30-brcm/arch/mips/bcm947xx/include/linux_osl.h   2005-02-02 23:16:39.000000000 +0100
++++ linux-2.4.30.dev/arch/mips/bcm947xx/include/linux_osl.h    2005-08-22 01:34:46.319152072 +0200
 @@ -0,0 +1,341 @@
 +/*
 + * Linux OS Independent Layer
@@ -3071,9 +3232,9 @@ diff -Nur linux-2.4.30/arch/mips/bcm947xx/include/linux_osl.h linux-2.4.30-brcm/
 +#define       PKTBUFSZ        2048
 +
 +#endif        /* _linux_osl_h_ */
-diff -Nur linux-2.4.30/arch/mips/bcm947xx/include/linuxver.h linux-2.4.30-brcm/arch/mips/bcm947xx/include/linuxver.h
+diff -urN linux-2.4.30/arch/mips/bcm947xx/include/linuxver.h linux-2.4.30.dev/arch/mips/bcm947xx/include/linuxver.h
 --- linux-2.4.30/arch/mips/bcm947xx/include/linuxver.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.30-brcm/arch/mips/bcm947xx/include/linuxver.h    2005-02-02 23:16:39.000000000 +0100
++++ linux-2.4.30.dev/arch/mips/bcm947xx/include/linuxver.h     2005-08-22 01:34:46.320151920 +0200
 @@ -0,0 +1,399 @@
 +/*
 + * Linux-specific abstractions to gain some independence from linux kernel versions.
@@ -3474,9 +3635,9 @@ diff -Nur linux-2.4.30/arch/mips/bcm947xx/include/linuxver.h linux-2.4.30-brcm/a
 +#endif
 +
 +#endif /* _linuxver_h_ */
-diff -Nur linux-2.4.30/arch/mips/bcm947xx/include/min_osl.h linux-2.4.30-brcm/arch/mips/bcm947xx/include/min_osl.h
+diff -urN linux-2.4.30/arch/mips/bcm947xx/include/min_osl.h linux-2.4.30.dev/arch/mips/bcm947xx/include/min_osl.h
 --- linux-2.4.30/arch/mips/bcm947xx/include/min_osl.h  1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.30-brcm/arch/mips/bcm947xx/include/min_osl.h     2005-05-25 03:31:09.000000000 +0200
++++ linux-2.4.30.dev/arch/mips/bcm947xx/include/min_osl.h      2005-08-22 01:34:46.321151768 +0200
 @@ -0,0 +1,120 @@
 +/*
 + * HND Minimal OS Abstraction Layer.
@@ -3598,9 +3759,9 @@ diff -Nur linux-2.4.30/arch/mips/bcm947xx/include/min_osl.h linux-2.4.30-brcm/ar
 +extern int getintvar(char *vars, char *name);
 +
 +#endif        /* _min_osl_h_ */
-diff -Nur linux-2.4.30/arch/mips/bcm947xx/include/mipsinc.h linux-2.4.30-brcm/arch/mips/bcm947xx/include/mipsinc.h
+diff -urN linux-2.4.30/arch/mips/bcm947xx/include/mipsinc.h linux-2.4.30.dev/arch/mips/bcm947xx/include/mipsinc.h
 --- linux-2.4.30/arch/mips/bcm947xx/include/mipsinc.h  1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.30-brcm/arch/mips/bcm947xx/include/mipsinc.h     2005-05-26 02:34:15.000000000 +0200
++++ linux-2.4.30.dev/arch/mips/bcm947xx/include/mipsinc.h      2005-08-22 01:34:46.322151616 +0200
 @@ -0,0 +1,524 @@
 +/*
 + * HND Run Time Environment for standalone MIPS programs.
@@ -4126,9 +4287,9 @@ diff -Nur linux-2.4.30/arch/mips/bcm947xx/include/mipsinc.h linux-2.4.30-brcm/ar
 +
 +
 +#endif        /* _MISPINC_H */
-diff -Nur linux-2.4.30/arch/mips/bcm947xx/include/nvports.h linux-2.4.30-brcm/arch/mips/bcm947xx/include/nvports.h
+diff -urN linux-2.4.30/arch/mips/bcm947xx/include/nvports.h linux-2.4.30.dev/arch/mips/bcm947xx/include/nvports.h
 --- linux-2.4.30/arch/mips/bcm947xx/include/nvports.h  1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.30-brcm/arch/mips/bcm947xx/include/nvports.h     2005-02-02 23:41:24.000000000 +0100
++++ linux-2.4.30.dev/arch/mips/bcm947xx/include/nvports.h      2005-08-22 01:34:46.322151616 +0200
 @@ -0,0 +1,55 @@
 +/*
 + * BCM53xx RoboSwitch utility functions
@@ -4185,9 +4346,9 @@ diff -Nur linux-2.4.30/arch/mips/bcm947xx/include/nvports.h linux-2.4.30-brcm/ar
 +
 +
 +
-diff -Nur linux-2.4.30/arch/mips/bcm947xx/include/osl.h linux-2.4.30-brcm/arch/mips/bcm947xx/include/osl.h
+diff -urN linux-2.4.30/arch/mips/bcm947xx/include/osl.h linux-2.4.30.dev/arch/mips/bcm947xx/include/osl.h
 --- linux-2.4.30/arch/mips/bcm947xx/include/osl.h      1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.30-brcm/arch/mips/bcm947xx/include/osl.h 2005-02-02 23:16:39.000000000 +0100
++++ linux-2.4.30.dev/arch/mips/bcm947xx/include/osl.h  2005-08-22 01:34:46.323151464 +0200
 @@ -0,0 +1,39 @@
 +/*
 + * OS Independent Layer
@@ -4228,9 +4389,9 @@ diff -Nur linux-2.4.30/arch/mips/bcm947xx/include/osl.h linux-2.4.30-brcm/arch/m
 +#define       MAXPRIO         7       /* 0-7 */
 +
 +#endif        /* _osl_h_ */
-diff -Nur linux-2.4.30/arch/mips/bcm947xx/include/pcicfg.h linux-2.4.30-brcm/arch/mips/bcm947xx/include/pcicfg.h
+diff -urN linux-2.4.30/arch/mips/bcm947xx/include/pcicfg.h linux-2.4.30.dev/arch/mips/bcm947xx/include/pcicfg.h
 --- linux-2.4.30/arch/mips/bcm947xx/include/pcicfg.h   1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.30-brcm/arch/mips/bcm947xx/include/pcicfg.h      2005-02-02 23:16:39.000000000 +0100
++++ linux-2.4.30.dev/arch/mips/bcm947xx/include/pcicfg.h       2005-08-22 01:34:46.323151464 +0200
 @@ -0,0 +1,369 @@
 +/*
 + * pcicfg.h: PCI configuration  constants and structures.
@@ -4601,9 +4762,9 @@ diff -Nur linux-2.4.30/arch/mips/bcm947xx/include/pcicfg.h linux-2.4.30-brcm/arc
 +#define PCI_CFG_CMD_STAT_TA   0x08000000      /* target abort status */
 +
 +#endif
-diff -Nur linux-2.4.30/arch/mips/bcm947xx/include/pmon_osl.h linux-2.4.30-brcm/arch/mips/bcm947xx/include/pmon_osl.h
+diff -urN linux-2.4.30/arch/mips/bcm947xx/include/pmon_osl.h linux-2.4.30.dev/arch/mips/bcm947xx/include/pmon_osl.h
 --- linux-2.4.30/arch/mips/bcm947xx/include/pmon_osl.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.30-brcm/arch/mips/bcm947xx/include/pmon_osl.h    2005-02-02 23:16:39.000000000 +0100
++++ linux-2.4.30.dev/arch/mips/bcm947xx/include/pmon_osl.h     2005-08-22 01:34:46.324151312 +0200
 @@ -0,0 +1,126 @@
 +/*
 + * MIPS PMON boot loader OS Abstraction Layer.
@@ -4731,9 +4892,9 @@ diff -Nur linux-2.4.30/arch/mips/bcm947xx/include/pmon_osl.h linux-2.4.30-brcm/a
 +extern void et_pktfree(void *drv, struct lbuf *lb, bool send);
 +
 +#endif        /* _pmon_osl_h_ */
-diff -Nur linux-2.4.30/arch/mips/bcm947xx/include/proto/802.11.h linux-2.4.30-brcm/arch/mips/bcm947xx/include/proto/802.11.h
+diff -urN linux-2.4.30/arch/mips/bcm947xx/include/proto/802.11.h linux-2.4.30.dev/arch/mips/bcm947xx/include/proto/802.11.h
 --- linux-2.4.30/arch/mips/bcm947xx/include/proto/802.11.h     1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.30-brcm/arch/mips/bcm947xx/include/proto/802.11.h        2005-02-02 23:16:40.000000000 +0100
++++ linux-2.4.30.dev/arch/mips/bcm947xx/include/proto/802.11.h 2005-08-22 01:34:46.326151008 +0200
 @@ -0,0 +1,897 @@
 +/*
 + * Copyright 2005, Broadcom Corporation      
@@ -5632,9 +5793,9 @@ diff -Nur linux-2.4.30/arch/mips/bcm947xx/include/proto/802.11.h linux-2.4.30-br
 +#endif
 +
 +#endif /* _802_11_H_ */
-diff -Nur linux-2.4.30/arch/mips/bcm947xx/include/proto/bcmeth.h linux-2.4.30-brcm/arch/mips/bcm947xx/include/proto/bcmeth.h
+diff -urN linux-2.4.30/arch/mips/bcm947xx/include/proto/bcmeth.h linux-2.4.30.dev/arch/mips/bcm947xx/include/proto/bcmeth.h
 --- linux-2.4.30/arch/mips/bcm947xx/include/proto/bcmeth.h     1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.30-brcm/arch/mips/bcm947xx/include/proto/bcmeth.h        2005-02-02 23:16:40.000000000 +0100
++++ linux-2.4.30.dev/arch/mips/bcm947xx/include/proto/bcmeth.h 2005-08-22 01:34:46.327150856 +0200
 @@ -0,0 +1,97 @@
 +/*
 + * Broadcom Ethernettype  protocol definitions
@@ -5733,9 +5894,9 @@ diff -Nur linux-2.4.30/arch/mips/bcm947xx/include/proto/bcmeth.h linux-2.4.30-br
 +#endif
 +
 +#endif
-diff -Nur linux-2.4.30/arch/mips/bcm947xx/include/proto/ethernet.h linux-2.4.30-brcm/arch/mips/bcm947xx/include/proto/ethernet.h
+diff -urN linux-2.4.30/arch/mips/bcm947xx/include/proto/ethernet.h linux-2.4.30.dev/arch/mips/bcm947xx/include/proto/ethernet.h
 --- linux-2.4.30/arch/mips/bcm947xx/include/proto/ethernet.h   1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.30-brcm/arch/mips/bcm947xx/include/proto/ethernet.h      2005-02-02 23:16:40.000000000 +0100
++++ linux-2.4.30.dev/arch/mips/bcm947xx/include/proto/ethernet.h       2005-08-22 01:34:46.328150704 +0200
 @@ -0,0 +1,161 @@
 +/*******************************************************************************
 + * $Id$
@@ -5898,9 +6059,9 @@ diff -Nur linux-2.4.30/arch/mips/bcm947xx/include/proto/ethernet.h linux-2.4.30-
 +#endif
 +
 +#endif /* _NET_ETHERNET_H_ */
-diff -Nur linux-2.4.30/arch/mips/bcm947xx/include/proto/vlan.h linux-2.4.30-brcm/arch/mips/bcm947xx/include/proto/vlan.h
+diff -urN linux-2.4.30/arch/mips/bcm947xx/include/proto/vlan.h linux-2.4.30.dev/arch/mips/bcm947xx/include/proto/vlan.h
 --- linux-2.4.30/arch/mips/bcm947xx/include/proto/vlan.h       1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.30-brcm/arch/mips/bcm947xx/include/proto/vlan.h  2005-02-02 23:16:40.000000000 +0100
++++ linux-2.4.30.dev/arch/mips/bcm947xx/include/proto/vlan.h   2005-08-22 01:34:46.328150704 +0200
 @@ -0,0 +1,50 @@
 +/*
 + * 802.1Q VLAN protocol definitions
@@ -5952,9 +6113,9 @@ diff -Nur linux-2.4.30/arch/mips/bcm947xx/include/proto/vlan.h linux-2.4.30-brcm
 +#endif
 +
 +#endif /* _vlan_h_ */
-diff -Nur linux-2.4.30/arch/mips/bcm947xx/include/proto/wpa.h linux-2.4.30-brcm/arch/mips/bcm947xx/include/proto/wpa.h
+diff -urN linux-2.4.30/arch/mips/bcm947xx/include/proto/wpa.h linux-2.4.30.dev/arch/mips/bcm947xx/include/proto/wpa.h
 --- linux-2.4.30/arch/mips/bcm947xx/include/proto/wpa.h        1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.30-brcm/arch/mips/bcm947xx/include/proto/wpa.h   2005-02-02 23:16:40.000000000 +0100
++++ linux-2.4.30.dev/arch/mips/bcm947xx/include/proto/wpa.h    2005-08-22 01:34:46.329150552 +0200
 @@ -0,0 +1,140 @@
 +/*
 + * Fundamental types and constants relating to WPA
@@ -6096,9 +6257,9 @@ diff -Nur linux-2.4.30/arch/mips/bcm947xx/include/proto/wpa.h linux-2.4.30-brcm/
 +#endif
 +
 +#endif /* _proto_wpa_h_ */
-diff -Nur linux-2.4.30/arch/mips/bcm947xx/include/rts/crc.h linux-2.4.30-brcm/arch/mips/bcm947xx/include/rts/crc.h
+diff -urN linux-2.4.30/arch/mips/bcm947xx/include/rts/crc.h linux-2.4.30.dev/arch/mips/bcm947xx/include/rts/crc.h
 --- linux-2.4.30/arch/mips/bcm947xx/include/rts/crc.h  1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.30-brcm/arch/mips/bcm947xx/include/rts/crc.h     2005-02-02 23:16:40.000000000 +0100
++++ linux-2.4.30.dev/arch/mips/bcm947xx/include/rts/crc.h      2005-08-22 01:34:46.329150552 +0200
 @@ -0,0 +1,69 @@
 +/*******************************************************************************
 + * $Id$
@@ -6169,9 +6330,9 @@ diff -Nur linux-2.4.30/arch/mips/bcm947xx/include/rts/crc.h linux-2.4.30-brcm/ar
 +#endif
 +
 +#endif /* _RTS_CRC_H_ */
-diff -Nur linux-2.4.30/arch/mips/bcm947xx/include/sbchipc.h linux-2.4.30-brcm/arch/mips/bcm947xx/include/sbchipc.h
+diff -urN linux-2.4.30/arch/mips/bcm947xx/include/sbchipc.h linux-2.4.30.dev/arch/mips/bcm947xx/include/sbchipc.h
 --- linux-2.4.30/arch/mips/bcm947xx/include/sbchipc.h  1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.30-brcm/arch/mips/bcm947xx/include/sbchipc.h     2005-02-02 23:16:40.000000000 +0100
++++ linux-2.4.30.dev/arch/mips/bcm947xx/include/sbchipc.h      2005-08-22 01:34:46.330150400 +0200
 @@ -0,0 +1,394 @@
 +/*
 + * SiliconBackplane Chipcommon core hardware definitions.
@@ -6567,9 +6728,9 @@ diff -Nur linux-2.4.30/arch/mips/bcm947xx/include/sbchipc.h linux-2.4.30-brcm/ar
 +#define       OTP_MAGIC       0x4e56
 +
 +#endif        /* _SBCHIPC_H */
-diff -Nur linux-2.4.30/arch/mips/bcm947xx/include/sbconfig.h linux-2.4.30-brcm/arch/mips/bcm947xx/include/sbconfig.h
+diff -urN linux-2.4.30/arch/mips/bcm947xx/include/sbconfig.h linux-2.4.30.dev/arch/mips/bcm947xx/include/sbconfig.h
 --- linux-2.4.30/arch/mips/bcm947xx/include/sbconfig.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.30-brcm/arch/mips/bcm947xx/include/sbconfig.h    2005-02-02 23:16:40.000000000 +0100
++++ linux-2.4.30.dev/arch/mips/bcm947xx/include/sbconfig.h     2005-08-22 01:34:46.331150248 +0200
 @@ -0,0 +1,324 @@
 +/*
 + * Broadcom SiliconBackplane hardware register definitions.
@@ -6895,9 +7056,9 @@ diff -Nur linux-2.4.30/arch/mips/bcm947xx/include/sbconfig.h linux-2.4.30-brcm/a
 +#define       BISZ_BSSEND_IDX         6               /*      6: text start */
 +
 +#endif        /* _SBCONFIG_H */
-diff -Nur linux-2.4.30/arch/mips/bcm947xx/include/sbextif.h linux-2.4.30-brcm/arch/mips/bcm947xx/include/sbextif.h
+diff -urN linux-2.4.30/arch/mips/bcm947xx/include/sbextif.h linux-2.4.30.dev/arch/mips/bcm947xx/include/sbextif.h
 --- linux-2.4.30/arch/mips/bcm947xx/include/sbextif.h  1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.30-brcm/arch/mips/bcm947xx/include/sbextif.h     2005-02-02 23:16:40.000000000 +0100
++++ linux-2.4.30.dev/arch/mips/bcm947xx/include/sbextif.h      2005-08-22 01:34:46.332150096 +0200
 @@ -0,0 +1,242 @@
 +/*
 + * Hardware-specific External Interface I/O core definitions
@@ -7141,9 +7302,9 @@ diff -Nur linux-2.4.30/arch/mips/bcm947xx/include/sbextif.h linux-2.4.30-brcm/ar
 +#define       CC_CLOCK_BASE   24000000        /* Half the clock freq. in the 4710 */
 +
 +#endif        /* _SBEXTIF_H */
-diff -Nur linux-2.4.30/arch/mips/bcm947xx/include/sbmemc.h linux-2.4.30-brcm/arch/mips/bcm947xx/include/sbmemc.h
+diff -urN linux-2.4.30/arch/mips/bcm947xx/include/sbmemc.h linux-2.4.30.dev/arch/mips/bcm947xx/include/sbmemc.h
 --- linux-2.4.30/arch/mips/bcm947xx/include/sbmemc.h   1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.30-brcm/arch/mips/bcm947xx/include/sbmemc.h      2005-02-02 23:16:40.000000000 +0100
++++ linux-2.4.30.dev/arch/mips/bcm947xx/include/sbmemc.h       2005-08-22 01:34:46.333149944 +0200
 @@ -0,0 +1,147 @@
 +/*
 + * BCM47XX Sonics SiliconBackplane DDR/SDRAM controller core hardware definitions.
@@ -7292,9 +7453,9 @@ diff -Nur linux-2.4.30/arch/mips/bcm947xx/include/sbmemc.h linux-2.4.30-brcm/arc
 +#define MEMC_CONFIG_DDR               0x00000001
 +
 +#endif        /* _SBMEMC_H */
-diff -Nur linux-2.4.30/arch/mips/bcm947xx/include/sbmips.h linux-2.4.30-brcm/arch/mips/bcm947xx/include/sbmips.h
+diff -urN linux-2.4.30/arch/mips/bcm947xx/include/sbmips.h linux-2.4.30.dev/arch/mips/bcm947xx/include/sbmips.h
 --- linux-2.4.30/arch/mips/bcm947xx/include/sbmips.h   1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.30-brcm/arch/mips/bcm947xx/include/sbmips.h      2005-02-02 23:16:40.000000000 +0100
++++ linux-2.4.30.dev/arch/mips/bcm947xx/include/sbmips.h       2005-08-22 01:34:46.333149944 +0200
 @@ -0,0 +1,60 @@
 +/*
 + * Broadcom SiliconBackplane MIPS definitions
@@ -7356,9 +7517,9 @@ diff -Nur linux-2.4.30/arch/mips/bcm947xx/include/sbmips.h linux-2.4.30-brcm/arc
 +#endif /* _LANGUAGE_ASSEMBLY */
 +
 +#endif        /* _SBMIPS_H */
-diff -Nur linux-2.4.30/arch/mips/bcm947xx/include/sbpci.h linux-2.4.30-brcm/arch/mips/bcm947xx/include/sbpci.h
+diff -urN linux-2.4.30/arch/mips/bcm947xx/include/sbpci.h linux-2.4.30.dev/arch/mips/bcm947xx/include/sbpci.h
 --- linux-2.4.30/arch/mips/bcm947xx/include/sbpci.h    1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.30-brcm/arch/mips/bcm947xx/include/sbpci.h       2005-02-02 23:16:40.000000000 +0100
++++ linux-2.4.30.dev/arch/mips/bcm947xx/include/sbpci.h        2005-08-22 01:34:46.334149792 +0200
 @@ -0,0 +1,117 @@
 +/*
 + * BCM47XX Sonics SiliconBackplane PCI core hardware definitions.
@@ -7477,9 +7638,9 @@ diff -Nur linux-2.4.30/arch/mips/bcm947xx/include/sbpci.h linux-2.4.30-brcm/arch
 +#endif /* !_LANGUAGE_ASSEMBLY */
 +
 +#endif        /* _SBPCI_H */
-diff -Nur linux-2.4.30/arch/mips/bcm947xx/include/sbpcmcia.h linux-2.4.30-brcm/arch/mips/bcm947xx/include/sbpcmcia.h
+diff -urN linux-2.4.30/arch/mips/bcm947xx/include/sbpcmcia.h linux-2.4.30.dev/arch/mips/bcm947xx/include/sbpcmcia.h
 --- linux-2.4.30/arch/mips/bcm947xx/include/sbpcmcia.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.30-brcm/arch/mips/bcm947xx/include/sbpcmcia.h    2005-02-02 23:16:40.000000000 +0100
++++ linux-2.4.30.dev/arch/mips/bcm947xx/include/sbpcmcia.h     2005-08-22 01:34:46.334149792 +0200
 @@ -0,0 +1,139 @@
 +/*
 + * BCM43XX Sonics SiliconBackplane PCMCIA core hardware definitions.
@@ -7620,9 +7781,9 @@ diff -Nur linux-2.4.30/arch/mips/bcm947xx/include/sbpcmcia.h linux-2.4.30-brcm/a
 +#define SBTMH_INT_STATUS      0x40000         /* sb interrupt status */
 +
 +#endif        /* _SBPCMCIA_H */
-diff -Nur linux-2.4.30/arch/mips/bcm947xx/include/sbsdram.h linux-2.4.30-brcm/arch/mips/bcm947xx/include/sbsdram.h
+diff -urN linux-2.4.30/arch/mips/bcm947xx/include/sbsdram.h linux-2.4.30.dev/arch/mips/bcm947xx/include/sbsdram.h
 --- linux-2.4.30/arch/mips/bcm947xx/include/sbsdram.h  1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.30-brcm/arch/mips/bcm947xx/include/sbsdram.h     2005-02-02 23:16:40.000000000 +0100
++++ linux-2.4.30.dev/arch/mips/bcm947xx/include/sbsdram.h      2005-08-22 01:34:46.335149640 +0200
 @@ -0,0 +1,75 @@
 +/*
 + * BCM47XX Sonics SiliconBackplane SDRAM controller core hardware definitions.
@@ -7699,9 +7860,9 @@ diff -Nur linux-2.4.30/arch/mips/bcm947xx/include/sbsdram.h linux-2.4.30-brcm/ar
 +#define MEM8MX16X2    0xc29   /* 32 MB */
 +
 +#endif        /* _SBSDRAM_H */
-diff -Nur linux-2.4.30/arch/mips/bcm947xx/include/sbsocram.h linux-2.4.30-brcm/arch/mips/bcm947xx/include/sbsocram.h
+diff -urN linux-2.4.30/arch/mips/bcm947xx/include/sbsocram.h linux-2.4.30.dev/arch/mips/bcm947xx/include/sbsocram.h
 --- linux-2.4.30/arch/mips/bcm947xx/include/sbsocram.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.30-brcm/arch/mips/bcm947xx/include/sbsocram.h    2005-02-02 23:16:40.000000000 +0100
++++ linux-2.4.30.dev/arch/mips/bcm947xx/include/sbsocram.h     2005-08-22 01:34:46.335149640 +0200
 @@ -0,0 +1,37 @@
 +/*
 + * BCM47XX Sonics SiliconBackplane embedded ram core
@@ -7740,9 +7901,9 @@ diff -Nur linux-2.4.30/arch/mips/bcm947xx/include/sbsocram.h linux-2.4.30-brcm/a
 +#define SOCRAM_MEMSIZE_BASESHIFT 16
 +
 +#endif        /* _SBSOCRAM_H */
-diff -Nur linux-2.4.30/arch/mips/bcm947xx/include/sbutils.h linux-2.4.30-brcm/arch/mips/bcm947xx/include/sbutils.h
+diff -urN linux-2.4.30/arch/mips/bcm947xx/include/sbutils.h linux-2.4.30.dev/arch/mips/bcm947xx/include/sbutils.h
 --- linux-2.4.30/arch/mips/bcm947xx/include/sbutils.h  1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.30-brcm/arch/mips/bcm947xx/include/sbutils.h     2005-02-02 23:16:40.000000000 +0100
++++ linux-2.4.30.dev/arch/mips/bcm947xx/include/sbutils.h      2005-08-22 01:34:46.336149488 +0200
 @@ -0,0 +1,87 @@
 +/*
 + * Misc utility routines for accessing chip-specific features
@@ -7831,9 +7992,9 @@ diff -Nur linux-2.4.30/arch/mips/bcm947xx/include/sbutils.h linux-2.4.30-brcm/ar
 +#define       CLK_DYNAMIC     2                       /* enable dynamic power control */
 +
 +#endif        /* _sbutils_h_ */
-diff -Nur linux-2.4.30/arch/mips/bcm947xx/include/sflash.h linux-2.4.30-brcm/arch/mips/bcm947xx/include/sflash.h
+diff -urN linux-2.4.30/arch/mips/bcm947xx/include/sflash.h linux-2.4.30.dev/arch/mips/bcm947xx/include/sflash.h
 --- linux-2.4.30/arch/mips/bcm947xx/include/sflash.h   1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.30-brcm/arch/mips/bcm947xx/include/sflash.h      2005-02-02 23:16:40.000000000 +0100
++++ linux-2.4.30.dev/arch/mips/bcm947xx/include/sflash.h       2005-08-22 01:34:46.336149488 +0200
 @@ -0,0 +1,36 @@
 +/*
 + * Broadcom SiliconBackplane chipcommon serial flash interface
@@ -7871,9 +8032,9 @@ diff -Nur linux-2.4.30/arch/mips/bcm947xx/include/sflash.h linux-2.4.30-brcm/arc
 +extern struct sflash * sflash_init(chipcregs_t *cc);
 +
 +#endif /* _sflash_h_ */
-diff -Nur linux-2.4.30/arch/mips/bcm947xx/include/trxhdr.h linux-2.4.30-brcm/arch/mips/bcm947xx/include/trxhdr.h
+diff -urN linux-2.4.30/arch/mips/bcm947xx/include/trxhdr.h linux-2.4.30.dev/arch/mips/bcm947xx/include/trxhdr.h
 --- linux-2.4.30/arch/mips/bcm947xx/include/trxhdr.h   1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.30-brcm/arch/mips/bcm947xx/include/trxhdr.h      2005-02-02 23:16:40.000000000 +0100
++++ linux-2.4.30.dev/arch/mips/bcm947xx/include/trxhdr.h       2005-08-22 01:34:46.337149336 +0200
 @@ -0,0 +1,33 @@
 +/*
 + * TRX image file header format.
@@ -7908,9 +8069,9 @@ diff -Nur linux-2.4.30/arch/mips/bcm947xx/include/trxhdr.h linux-2.4.30-brcm/arc
 +
 +/* Compatibility */
 +typedef struct trx_header TRXHDR, *PTRXHDR;
-diff -Nur linux-2.4.30/arch/mips/bcm947xx/include/typedefs.h linux-2.4.30-brcm/arch/mips/bcm947xx/include/typedefs.h
+diff -urN linux-2.4.30/arch/mips/bcm947xx/include/typedefs.h linux-2.4.30.dev/arch/mips/bcm947xx/include/typedefs.h
 --- linux-2.4.30/arch/mips/bcm947xx/include/typedefs.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.30-brcm/arch/mips/bcm947xx/include/typedefs.h    2005-02-02 23:16:40.000000000 +0100
++++ linux-2.4.30.dev/arch/mips/bcm947xx/include/typedefs.h     2005-08-22 01:34:46.338149184 +0200
 @@ -0,0 +1,322 @@
 +/*
 + * Copyright 2005, Broadcom Corporation      
@@ -8234,9 +8395,9 @@ diff -Nur linux-2.4.30/arch/mips/bcm947xx/include/typedefs.h linux-2.4.30-brcm/a
 +#endif /* USE_TYPEDEF_DEFAULTS */
 +
 +#endif /* _TYPEDEFS_H_ */
-diff -Nur linux-2.4.30/arch/mips/bcm947xx/include/wlioctl.h linux-2.4.30-brcm/arch/mips/bcm947xx/include/wlioctl.h
+diff -urN linux-2.4.30/arch/mips/bcm947xx/include/wlioctl.h linux-2.4.30.dev/arch/mips/bcm947xx/include/wlioctl.h
 --- linux-2.4.30/arch/mips/bcm947xx/include/wlioctl.h  1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.30-brcm/arch/mips/bcm947xx/include/wlioctl.h     2005-02-02 23:16:40.000000000 +0100
++++ linux-2.4.30.dev/arch/mips/bcm947xx/include/wlioctl.h      2005-08-22 01:34:46.339149032 +0200
 @@ -0,0 +1,825 @@
 +/*
 + * Custom OID/ioctl definitions for
@@ -9063,28 +9224,9 @@ diff -Nur linux-2.4.30/arch/mips/bcm947xx/include/wlioctl.h linux-2.4.30-brcm/ar
 +#endif
 +
 +#endif /* _wlioctl_h_ */
-diff -Nur linux-2.4.30/arch/mips/bcm947xx/Makefile linux-2.4.30-brcm/arch/mips/bcm947xx/Makefile
---- linux-2.4.30/arch/mips/bcm947xx/Makefile   1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.30-brcm/arch/mips/bcm947xx/Makefile      2005-05-26 15:07:37.000000000 +0200
-@@ -0,0 +1,15 @@
-+#
-+# Makefile for the BCM947xx specific kernel interface routines
-+# under Linux.
-+#
-+
-+EXTRA_CFLAGS+=-I$(TOPDIR)/arch/mips/bcm947xx/include -DBCMDRIVER
-+
-+O_TARGET        := bcm947xx.o
-+
-+export-objs     := nvram_linux.o setup.o
-+obj-y         := prom.o setup.o time.o sbmips.o gpio.o
-+obj-y         += nvram.o nvram_linux.o
-+obj-$(CONFIG_PCI) += sbpci.o pcibios.o
-+
-+include $(TOPDIR)/Rules.make
-diff -Nur linux-2.4.30/arch/mips/bcm947xx/nvram.c linux-2.4.30-brcm/arch/mips/bcm947xx/nvram.c
+diff -urN linux-2.4.30/arch/mips/bcm947xx/nvram.c linux-2.4.30.dev/arch/mips/bcm947xx/nvram.c
 --- linux-2.4.30/arch/mips/bcm947xx/nvram.c    1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.30-brcm/arch/mips/bcm947xx/nvram.c       2005-05-24 17:58:29.000000000 +0200
++++ linux-2.4.30.dev/arch/mips/bcm947xx/nvram.c        2005-08-22 01:34:46.341148728 +0200
 @@ -0,0 +1,321 @@
 +/*
 + * NVRAM variable manipulation (common)
@@ -9407,9 +9549,9 @@ diff -Nur linux-2.4.30/arch/mips/bcm947xx/nvram.c linux-2.4.30-brcm/arch/mips/bc
 +{
 +      BCMINIT(nvram_free)();
 +}
-diff -Nur linux-2.4.30/arch/mips/bcm947xx/nvram_linux.c linux-2.4.30-brcm/arch/mips/bcm947xx/nvram_linux.c
+diff -urN linux-2.4.30/arch/mips/bcm947xx/nvram_linux.c linux-2.4.30.dev/arch/mips/bcm947xx/nvram_linux.c
 --- linux-2.4.30/arch/mips/bcm947xx/nvram_linux.c      1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.30-brcm/arch/mips/bcm947xx/nvram_linux.c 2005-05-25 20:02:50.000000000 +0200
++++ linux-2.4.30.dev/arch/mips/bcm947xx/nvram_linux.c  2005-08-22 01:34:46.342148576 +0200
 @@ -0,0 +1,617 @@
 +/*
 + * NVRAM variable manipulation (Linux kernel half)
@@ -10028,9 +10170,9 @@ diff -Nur linux-2.4.30/arch/mips/bcm947xx/nvram_linux.c linux-2.4.30-brcm/arch/m
 +
 +module_init(dev_nvram_init);
 +module_exit(dev_nvram_exit);
-diff -Nur linux-2.4.30/arch/mips/bcm947xx/pcibios.c linux-2.4.30-brcm/arch/mips/bcm947xx/pcibios.c
+diff -urN linux-2.4.30/arch/mips/bcm947xx/pcibios.c linux-2.4.30.dev/arch/mips/bcm947xx/pcibios.c
 --- linux-2.4.30/arch/mips/bcm947xx/pcibios.c  1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.30-brcm/arch/mips/bcm947xx/pcibios.c     2005-05-26 01:15:53.000000000 +0200
++++ linux-2.4.30.dev/arch/mips/bcm947xx/pcibios.c      2005-08-22 01:34:46.343148424 +0200
 @@ -0,0 +1,355 @@
 +/*
 + * Low-Level PCI and SB support for BCM47xx (Linux support code)
@@ -10387,9 +10529,9 @@ diff -Nur linux-2.4.30/arch/mips/bcm947xx/pcibios.c linux-2.4.30-brcm/arch/mips/
 +      pci_write_config_byte(dev, PCI_LATENCY_TIMER, lat);
 +}
 +
-diff -Nur linux-2.4.30/arch/mips/bcm947xx/prom.c linux-2.4.30-brcm/arch/mips/bcm947xx/prom.c
+diff -urN linux-2.4.30/arch/mips/bcm947xx/prom.c linux-2.4.30.dev/arch/mips/bcm947xx/prom.c
 --- linux-2.4.30/arch/mips/bcm947xx/prom.c     1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.30-brcm/arch/mips/bcm947xx/prom.c        2005-05-22 22:55:51.000000000 +0200
++++ linux-2.4.30.dev/arch/mips/bcm947xx/prom.c 2005-08-22 01:34:46.343148424 +0200
 @@ -0,0 +1,41 @@
 +/*
 + * Early initialization code for BCM94710 boards
@@ -10432,9 +10574,9 @@ diff -Nur linux-2.4.30/arch/mips/bcm947xx/prom.c linux-2.4.30-brcm/arch/mips/bcm
 +prom_free_prom_memory(void)
 +{
 +}
-diff -Nur linux-2.4.30/arch/mips/bcm947xx/sbmips.c linux-2.4.30-brcm/arch/mips/bcm947xx/sbmips.c
+diff -urN linux-2.4.30/arch/mips/bcm947xx/sbmips.c linux-2.4.30.dev/arch/mips/bcm947xx/sbmips.c
 --- linux-2.4.30/arch/mips/bcm947xx/sbmips.c   1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.30-brcm/arch/mips/bcm947xx/sbmips.c      2005-05-25 05:06:08.000000000 +0200
++++ linux-2.4.30.dev/arch/mips/bcm947xx/sbmips.c       2005-08-22 01:34:46.345148120 +0200
 @@ -0,0 +1,982 @@
 +/*
 + * BCM47XX Sonics SiliconBackplane MIPS core routines
@@ -11418,14 +11560,14 @@ diff -Nur linux-2.4.30/arch/mips/bcm947xx/sbmips.c linux-2.4.30-brcm/arch/mips/b
 +      else 
 +              return 0x15;
 +}
-diff -Nur linux-2.4.30/arch/mips/bcm947xx/sbpci.c linux-2.4.30-brcm/arch/mips/bcm947xx/sbpci.c
+diff -urN linux-2.4.30/arch/mips/bcm947xx/sbpci.c linux-2.4.30.dev/arch/mips/bcm947xx/sbpci.c
 --- linux-2.4.30/arch/mips/bcm947xx/sbpci.c    1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.30-brcm/arch/mips/bcm947xx/sbpci.c       2005-05-26 21:56:08.000000000 +0200
-@@ -0,0 +1,569 @@
++++ linux-2.4.30.dev/arch/mips/bcm947xx/sbpci.c        2005-08-22 01:35:16.403578544 +0200
+@@ -0,0 +1,588 @@
 +/*
 + * Low-Level PCI and SB support for BCM47xx
 + *
-+ * Copyright 2004, Broadcom Corporation
++ * Copyright 2005, Broadcom Corporation
 + * All Rights Reserved.
 + * 
 + * THIS SOFTWARE IS OFFERED "AS IS", AND BROADCOM GRANTS NO WARRANTIES OF ANY
@@ -11433,7 +11575,7 @@ diff -Nur linux-2.4.30/arch/mips/bcm947xx/sbpci.c linux-2.4.30-brcm/arch/mips/bc
 + * SPECIFICALLY DISCLAIMS ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS
 + * FOR A SPECIFIC PURPOSE OR NONINFRINGEMENT CONCERNING THIS SOFTWARE.
 + *
-+ * $Id$
++ * $Id: sbpci.c,v 1.7 2005/03/07 08:35:32 kanki Exp $
 + */
 +
 +#include <typedefs.h>
@@ -11670,40 +11812,27 @@ diff -Nur linux-2.4.30/arch/mips/bcm947xx/sbpci.c linux-2.4.30-brcm/arch/mips/bc
 +              pci_ban[pci_banned++] = core;
 +}
 +
-+int __init
-+sbpci_init(void *sbh)
++static int
++sbpci_init_pci(void *sbh)
 +{
-+      uint chip, chiprev, chippkg, coreidx, host, i;
++      uint chip, chiprev, chippkg, host;
 +      uint32 boardflags;
 +      sbpciregs_t *pci;
 +      sbconfig_t *sb;
-+      pci_config_regs *cfg;
-+      void *regs;
-+      char varname[8];
 +      int CT4712_WR;
-+      uint wlidx = 0;
-+      uint16 vendor, core;
-+      uint8 class, subclass, progif;
 +      uint32 val;
-+      uint32 sbips_int_mask[] = { 0, SBIPS_INT1_MASK, SBIPS_INT2_MASK, SBIPS_INT3_MASK, SBIPS_INT4_MASK };
-+      uint32 sbips_int_shift[] = { 0, 0, SBIPS_INT2_SHIFT, SBIPS_INT3_SHIFT, SBIPS_INT4_SHIFT };
 +
 +      chip = sb_chip(sbh);
 +      chiprev = sb_chiprev(sbh);
 +      chippkg = sb_chippkg(sbh);
-+      coreidx = sb_coreidx(sbh);
 +
-+      if (!(pci = (sbpciregs_t *) sb_setcore(sbh, SB_PCI, 0)))
++      if (!(pci = (sbpciregs_t *) sb_setcore(sbh, SB_PCI, 0))) {
++              printf("PCI: no core\n");
++              pci_disabled = TRUE;
 +              return -1;
++      }
 +      sb_core_reset(sbh, 0);
 +
-+      /* In some board,
-+      if(nvram_match("boardtype", "bcm94710dev"))
-+              CT4712_WR = 0;
-+      else
-+              CT4712_WR = 1;
-+      */
-+
 +      boardflags = (uint32) getintvar(NULL, "boardflags");
 +
 +      if ((chip == BCM4310_DEVICE_ID) && (chiprev == 0))
@@ -11716,7 +11845,8 @@ diff -Nur linux-2.4.30/arch/mips/bcm947xx/sbpci.c linux-2.4.30-brcm/arch/mips/bc
 +       */
 +      if (((chip == BCM4712_DEVICE_ID) &&
 +           ((chippkg == BCM4712SMALL_PKG_ID) ||
-+            (chippkg == BCM4712MID_PKG_ID))) )
++            (chippkg == BCM4712MID_PKG_ID))) ||
++          (boardflags & BFL_NOPCI))
 +              pci_disabled = TRUE;
 +
 +      /*
@@ -11771,6 +11901,29 @@ diff -Nur linux-2.4.30/arch/mips/bcm947xx/sbpci.c linux-2.4.30-brcm/arch/mips/bc
 +              /* Enable PCI interrupts */
 +              W_REG(&pci->intmask, PCI_INTA);
 +      }
++      
++      return 0;
++}
++
++static int
++sbpci_init_cores(void *sbh)
++{
++      uint chip, chiprev, chippkg, coreidx, i;
++      sbconfig_t *sb;
++      pci_config_regs *cfg;
++      void *regs;
++      char varname[8];
++      uint wlidx = 0;
++      uint16 vendor, core;
++      uint8 class, subclass, progif;
++      uint32 val;
++      uint32 sbips_int_mask[] = { 0, SBIPS_INT1_MASK, SBIPS_INT2_MASK, SBIPS_INT3_MASK, SBIPS_INT4_MASK };
++      uint32 sbips_int_shift[] = { 0, 0, SBIPS_INT2_SHIFT, SBIPS_INT3_SHIFT, SBIPS_INT4_SHIFT };
++
++      chip = sb_chip(sbh);
++      chiprev = sb_chiprev(sbh);
++      chippkg = sb_chippkg(sbh);
++      coreidx = sb_coreidx(sbh);
 +
 +      /* Scan the SB bus */
 +      bzero(sb_config_regs, sizeof(sb_config_regs));
@@ -11933,6 +12086,14 @@ diff -Nur linux-2.4.30/arch/mips/bcm947xx/sbpci.c linux-2.4.30-brcm/arch/mips/bc
 +      return 0;
 +}
 +
++int __init
++sbpci_init(void *sbh)
++{
++      sbpci_init_pci(sbh);
++      sbpci_init_cores(sbh);
++      return 0;
++}
++
 +void
 +sbpci_check(void *sbh)
 +{
@@ -11991,9 +12152,9 @@ diff -Nur linux-2.4.30/arch/mips/bcm947xx/sbpci.c linux-2.4.30-brcm/arch/mips/bc
 +
 +      sb_setcoreidx(sbh, coreidx);
 +}
-diff -Nur linux-2.4.30/arch/mips/bcm947xx/setup.c linux-2.4.30-brcm/arch/mips/bcm947xx/setup.c
+diff -urN linux-2.4.30/arch/mips/bcm947xx/setup.c linux-2.4.30.dev/arch/mips/bcm947xx/setup.c
 --- linux-2.4.30/arch/mips/bcm947xx/setup.c    1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.30-brcm/arch/mips/bcm947xx/setup.c       2005-05-25 17:50:08.000000000 +0200
++++ linux-2.4.30.dev/arch/mips/bcm947xx/setup.c        2005-08-22 01:34:46.347147816 +0200
 @@ -0,0 +1,261 @@
 +/*
 + * Generic setup routines for Broadcom MIPS boards
@@ -12256,9 +12417,9 @@ diff -Nur linux-2.4.30/arch/mips/bcm947xx/setup.c linux-2.4.30-brcm/arch/mips/bc
 +EXPORT_SYMBOL(init_mtd_partitions);
 +
 +#endif
-diff -Nur linux-2.4.30/arch/mips/bcm947xx/time.c linux-2.4.30-brcm/arch/mips/bcm947xx/time.c
+diff -urN linux-2.4.30/arch/mips/bcm947xx/time.c linux-2.4.30.dev/arch/mips/bcm947xx/time.c
 --- linux-2.4.30/arch/mips/bcm947xx/time.c     1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.30-brcm/arch/mips/bcm947xx/time.c        2005-05-22 22:55:51.000000000 +0200
++++ linux-2.4.30.dev/arch/mips/bcm947xx/time.c 2005-08-22 01:34:46.347147816 +0200
 @@ -0,0 +1,117 @@
 +/*
 + * Copyright 2004, Broadcom Corporation
@@ -12377,10 +12538,10 @@ diff -Nur linux-2.4.30/arch/mips/bcm947xx/time.c linux-2.4.30-brcm/arch/mips/bcm
 +      /* Enable the timer interrupt */
 +      setup_irq(7, &bcm947xx_timer_irqaction);
 +}
-diff -Nur linux-2.4.30/arch/mips/config-shared.in linux-2.4.30-brcm/arch/mips/config-shared.in
---- linux-2.4.30/arch/mips/config-shared.in    2005-01-19 15:09:27.000000000 +0100
-+++ linux-2.4.30-brcm/arch/mips/config-shared.in       2005-05-26 16:34:10.000000000 +0200
-@@ -205,6 +205,14 @@
+diff -urN linux-2.4.30/arch/mips/config-shared.in linux-2.4.30.dev/arch/mips/config-shared.in
+--- linux-2.4.30/arch/mips/config-shared.in    2005-08-22 01:29:11.665027232 +0200
++++ linux-2.4.30.dev/arch/mips/config-shared.in        2005-08-22 01:34:46.362145536 +0200
+@@ -208,6 +208,14 @@
     fi
     define_bool CONFIG_MIPS_RTC y
  fi
@@ -12395,7 +12556,7 @@ diff -Nur linux-2.4.30/arch/mips/config-shared.in linux-2.4.30-brcm/arch/mips/co
  bool 'Support for SNI RM200 PCI' CONFIG_SNI_RM200_PCI
  bool 'Support for TANBAC TB0226 (Mbase)' CONFIG_TANBAC_TB0226
  bool 'Support for TANBAC TB0229 (VR4131DIMM)' CONFIG_TANBAC_TB0229
-@@ -226,6 +234,11 @@
+@@ -229,6 +237,11 @@
  define_bool CONFIG_RWSEM_XCHGADD_ALGORITHM n
  
  #
@@ -12407,7 +12568,7 @@ diff -Nur linux-2.4.30/arch/mips/config-shared.in linux-2.4.30-brcm/arch/mips/co
  # Select some configuration options automatically based on user selections.
  #
  if [ "$CONFIG_ACER_PICA_61" = "y" ]; then
-@@ -533,6 +546,13 @@
+@@ -554,6 +567,13 @@
     define_bool CONFIG_SWAP_IO_SPACE_L y
     define_bool CONFIG_BOOT_ELF32 y
  fi
@@ -12421,7 +12582,7 @@ diff -Nur linux-2.4.30/arch/mips/config-shared.in linux-2.4.30-brcm/arch/mips/co
  if [ "$CONFIG_SNI_RM200_PCI" = "y" ]; then
     define_bool CONFIG_ARC32 y
     define_bool CONFIG_ARC_MEMORY y
-@@ -1011,7 +1031,11 @@
+@@ -1042,7 +1062,11 @@
  
  bool 'Are you using a crosscompiler' CONFIG_CROSSCOMPILE
  bool 'Enable run-time debugging' CONFIG_RUNTIME_DEBUG
@@ -12434,10 +12595,10 @@ diff -Nur linux-2.4.30/arch/mips/config-shared.in linux-2.4.30-brcm/arch/mips/co
  dep_bool '  Console output to GDB' CONFIG_GDB_CONSOLE $CONFIG_KGDB
  if [ "$CONFIG_KGDB" = "y" ]; then
     define_bool CONFIG_DEBUG_INFO y
-diff -Nur linux-2.4.30/arch/mips/kernel/cpu-probe.c linux-2.4.30-brcm/arch/mips/kernel/cpu-probe.c
---- linux-2.4.30/arch/mips/kernel/cpu-probe.c  2005-01-19 15:09:29.000000000 +0100
-+++ linux-2.4.30-brcm/arch/mips/kernel/cpu-probe.c     2005-05-22 22:55:51.000000000 +0200
-@@ -174,7 +174,7 @@
+diff -urN linux-2.4.30/arch/mips/kernel/cpu-probe.c linux-2.4.30.dev/arch/mips/kernel/cpu-probe.c
+--- linux-2.4.30/arch/mips/kernel/cpu-probe.c  2005-08-22 01:29:09.347379568 +0200
++++ linux-2.4.30.dev/arch/mips/kernel/cpu-probe.c      2005-08-22 01:34:46.365145080 +0200
+@@ -163,7 +163,7 @@
  
  static inline void cpu_probe_legacy(struct cpuinfo_mips *c)
  {
@@ -12446,7 +12607,7 @@ diff -Nur linux-2.4.30/arch/mips/kernel/cpu-probe.c linux-2.4.30-brcm/arch/mips/
        case PRID_IMP_R2000:
                c->cputype = CPU_R2000;
                c->isa_level = MIPS_CPU_ISA_I;
-@@ -184,7 +184,7 @@
+@@ -173,7 +173,7 @@
                c->tlbsize = 64;
                break;
        case PRID_IMP_R3000:
@@ -12455,7 +12616,7 @@ diff -Nur linux-2.4.30/arch/mips/kernel/cpu-probe.c linux-2.4.30-brcm/arch/mips/
                        if (cpu_has_confreg())
                                c->cputype = CPU_R3081E;
                        else
-@@ -199,12 +199,12 @@
+@@ -188,12 +188,12 @@
                break;
        case PRID_IMP_R4000:
                if (read_c0_config() & CONF_SC) {
@@ -12470,7 +12631,7 @@ diff -Nur linux-2.4.30/arch/mips/kernel/cpu-probe.c linux-2.4.30-brcm/arch/mips/
                                c->cputype = CPU_R4400SC;
                        else
                                c->cputype = CPU_R4000SC;
-@@ -450,7 +450,7 @@
+@@ -439,7 +439,7 @@
  static inline void cpu_probe_mips(struct cpuinfo_mips *c)
  {
        decode_config1(c);
@@ -12479,7 +12640,7 @@ diff -Nur linux-2.4.30/arch/mips/kernel/cpu-probe.c linux-2.4.30-brcm/arch/mips/
        case PRID_IMP_4KC:
                c->cputype = CPU_4KC;
                c->isa_level = MIPS_CPU_ISA_M32;
-@@ -491,10 +491,10 @@
+@@ -480,10 +480,10 @@
  {
        decode_config1(c);
        c->options |= MIPS_CPU_PREFETCH;
@@ -12492,7 +12653,7 @@ diff -Nur linux-2.4.30/arch/mips/kernel/cpu-probe.c linux-2.4.30-brcm/arch/mips/
                case 0:
                        c->cputype = CPU_AU1000;
                        break;
-@@ -522,10 +522,34 @@
+@@ -511,10 +511,34 @@
        }
  }
  
@@ -12528,7 +12689,7 @@ diff -Nur linux-2.4.30/arch/mips/kernel/cpu-probe.c linux-2.4.30-brcm/arch/mips/
        case PRID_IMP_SB1:
                c->cputype = CPU_SB1;
                c->isa_level = MIPS_CPU_ISA_M64;
-@@ -547,7 +571,7 @@
+@@ -536,7 +560,7 @@
  static inline void cpu_probe_sandcraft(struct cpuinfo_mips *c)
  {
        decode_config1(c);
@@ -12537,7 +12698,7 @@ diff -Nur linux-2.4.30/arch/mips/kernel/cpu-probe.c linux-2.4.30-brcm/arch/mips/
        case PRID_IMP_SR71000:
                c->cputype = CPU_SR71000;
                c->isa_level = MIPS_CPU_ISA_M64;
-@@ -572,7 +596,7 @@
+@@ -561,7 +585,7 @@
        c->cputype      = CPU_UNKNOWN;
  
        c->processor_id = read_c0_prid();
@@ -12546,7 +12707,7 @@ diff -Nur linux-2.4.30/arch/mips/kernel/cpu-probe.c linux-2.4.30-brcm/arch/mips/
  
        case PRID_COMP_LEGACY:
                cpu_probe_legacy(c);
-@@ -583,6 +607,9 @@
+@@ -572,6 +596,9 @@
        case PRID_COMP_ALCHEMY:
                cpu_probe_alchemy(c);
                break;
@@ -12556,9 +12717,9 @@ diff -Nur linux-2.4.30/arch/mips/kernel/cpu-probe.c linux-2.4.30-brcm/arch/mips/
        case PRID_COMP_SIBYTE:
                cpu_probe_sibyte(c);
                break;
-diff -Nur linux-2.4.30/arch/mips/kernel/head.S linux-2.4.30-brcm/arch/mips/kernel/head.S
---- linux-2.4.30/arch/mips/kernel/head.S       2005-01-19 15:09:29.000000000 +0100
-+++ linux-2.4.30-brcm/arch/mips/kernel/head.S  2005-05-22 22:55:51.000000000 +0200
+diff -urN linux-2.4.30/arch/mips/kernel/head.S linux-2.4.30.dev/arch/mips/kernel/head.S
+--- linux-2.4.30/arch/mips/kernel/head.S       2005-08-22 01:29:09.348379416 +0200
++++ linux-2.4.30.dev/arch/mips/kernel/head.S   2005-08-22 01:34:46.366144928 +0200
 @@ -28,12 +28,20 @@
  #include <asm/mipsregs.h>
  #include <asm/stackframe.h>
@@ -12581,9 +12742,9 @@ diff -Nur linux-2.4.30/arch/mips/kernel/head.S linux-2.4.30-brcm/arch/mips/kerne
  
                /* The following two symbols are used for kernel profiling. */
                EXPORT(stext)
-diff -Nur linux-2.4.30/arch/mips/kernel/proc.c linux-2.4.30-brcm/arch/mips/kernel/proc.c
+diff -urN linux-2.4.30/arch/mips/kernel/proc.c linux-2.4.30.dev/arch/mips/kernel/proc.c
 --- linux-2.4.30/arch/mips/kernel/proc.c       2005-01-19 15:09:29.000000000 +0100
-+++ linux-2.4.30-brcm/arch/mips/kernel/proc.c  2005-05-22 22:55:51.000000000 +0200
++++ linux-2.4.30.dev/arch/mips/kernel/proc.c   2005-08-22 01:34:46.366144928 +0200
 @@ -78,9 +78,10 @@
        [CPU_AU1550]    "Au1550",
        [CPU_24K]       "MIPS 24K",
@@ -12596,10 +12757,10 @@ diff -Nur linux-2.4.30/arch/mips/kernel/proc.c linux-2.4.30-brcm/arch/mips/kerne
  static int show_cpuinfo(struct seq_file *m, void *v)
  {
        unsigned int version = current_cpu_data.processor_id;
-diff -Nur linux-2.4.30/arch/mips/kernel/setup.c linux-2.4.30-brcm/arch/mips/kernel/setup.c
---- linux-2.4.30/arch/mips/kernel/setup.c      2005-01-19 15:09:29.000000000 +0100
-+++ linux-2.4.30-brcm/arch/mips/kernel/setup.c 2005-05-25 19:00:43.000000000 +0200
-@@ -495,6 +495,7 @@
+diff -urN linux-2.4.30/arch/mips/kernel/setup.c linux-2.4.30.dev/arch/mips/kernel/setup.c
+--- linux-2.4.30/arch/mips/kernel/setup.c      2005-08-22 01:29:09.349379264 +0200
++++ linux-2.4.30.dev/arch/mips/kernel/setup.c  2005-08-22 01:34:46.367144776 +0200
+@@ -493,6 +493,7 @@
        void swarm_setup(void);
        void hp_setup(void);
        void au1x00_setup(void);
@@ -12607,7 +12768,7 @@ diff -Nur linux-2.4.30/arch/mips/kernel/setup.c linux-2.4.30-brcm/arch/mips/kern
        void frame_info_init(void);
  
        frame_info_init();
-@@ -693,6 +694,11 @@
+@@ -691,6 +692,11 @@
                  pmc_yosemite_setup();
                  break;
  #endif
@@ -12619,10 +12780,10 @@ diff -Nur linux-2.4.30/arch/mips/kernel/setup.c linux-2.4.30-brcm/arch/mips/kern
        default:
                panic("Unsupported architecture");
        }
-diff -Nur linux-2.4.30/arch/mips/kernel/traps.c linux-2.4.30-brcm/arch/mips/kernel/traps.c
---- linux-2.4.30/arch/mips/kernel/traps.c      2005-01-19 15:09:29.000000000 +0100
-+++ linux-2.4.30-brcm/arch/mips/kernel/traps.c 2005-05-22 22:55:51.000000000 +0200
-@@ -913,6 +913,7 @@
+diff -urN linux-2.4.30/arch/mips/kernel/traps.c linux-2.4.30.dev/arch/mips/kernel/traps.c
+--- linux-2.4.30/arch/mips/kernel/traps.c      2005-08-22 01:29:09.350379112 +0200
++++ linux-2.4.30.dev/arch/mips/kernel/traps.c  2005-08-22 01:34:46.369144472 +0200
+@@ -920,6 +920,7 @@
  void __init trap_init(void)
  {
        extern char except_vec1_generic;
@@ -12630,7 +12791,7 @@ diff -Nur linux-2.4.30/arch/mips/kernel/traps.c linux-2.4.30-brcm/arch/mips/kern
        extern char except_vec3_generic, except_vec3_r4000;
        extern char except_vec_ejtag_debug;
        extern char except_vec4;
-@@ -922,6 +923,7 @@
+@@ -927,6 +928,7 @@
  
        /* Copy the generic exception handler code to it's final destination. */
        memcpy((void *)(KSEG0 + 0x80), &except_vec1_generic, 0x80);
@@ -12638,7 +12799,7 @@ diff -Nur linux-2.4.30/arch/mips/kernel/traps.c linux-2.4.30-brcm/arch/mips/kern
  
        /*
         * Setup default vectors
-@@ -980,6 +982,12 @@
+@@ -985,6 +987,12 @@
        set_except_vector(13, handle_tr);
        set_except_vector(22, handle_mdmx);
  
@@ -12651,88 +12812,10 @@ diff -Nur linux-2.4.30/arch/mips/kernel/traps.c linux-2.4.30-brcm/arch/mips/kern
        if (cpu_has_fpu && !cpu_has_nofpuex)
                set_except_vector(15, handle_fpe);
  
-diff -Nur linux-2.4.30/arch/mips/Makefile linux-2.4.30-brcm/arch/mips/Makefile
---- linux-2.4.30/arch/mips/Makefile    2005-01-19 15:09:26.000000000 +0100
-+++ linux-2.4.30-brcm/arch/mips/Makefile       2005-05-25 18:53:09.000000000 +0200
-@@ -46,10 +46,10 @@
- GCCFLAGS      := -I $(TOPDIR)/include/asm/gcc
- GCCFLAGS      += -G 0 -mno-abicalls -fno-pic -pipe
- GCCFLAGS      += $(call check_gcc, -finline-limit=100000,)
--LINKFLAGS     += -G 0 -static -n
--MODFLAGS      += -mlong-calls
-+LINKFLAGS     += -G 0 -static -n -nostdlib
-+MODFLAGS      += -mlong-calls -fno-common
--ifdef CONFIG_DEBUG_INFO
-+ifdef CONFIG_REMOTE_DEBUG
- GCCFLAGS      += -g
- ifdef CONFIG_SB1XXX_CORELIS
- GCCFLAGS      += -mno-sched-prolog -fno-omit-frame-pointer
-@@ -71,13 +71,13 @@
- set_gccflags = $(shell \
- while :; do \
-       cpu=$(1); isa=-$(2); \
--      for gcc_opt in -march= -mcpu=; do \
-+      for gcc_opt in -march= -mtune=; do \
-               $(CC) $$gcc_opt$$cpu $$isa -S -o /dev/null \
-                       -xc /dev/null > /dev/null 2>&1 && \
-                       break 2; \
-       done; \
-       cpu=$(3); isa=-$(4); \
--      for gcc_opt in -march= -mcpu=; do \
-+      for gcc_opt in -march= -mtune=; do \
-               $(CC) $$gcc_opt$$cpu $$isa -S -o /dev/null \
-                       -xc /dev/null > /dev/null 2>&1 && \
-                       break 2; \
-@@ -92,7 +92,7 @@
- fi; \
- gas_abi=-Wa,-32; gas_cpu=$$cpu; gas_isa=-Wa,$$isa; \
- while :; do \
--      for gas_opt in -Wa,-march= -Wa,-mcpu=; do \
-+      for gas_opt in -Wa,-march= -Wa,-mtune=; do \
-               $(CC) $$gas_abi $$gas_opt$$cpu $$gas_isa -Wa,-Z -c \
-                       -o /dev/null -xassembler /dev/null > /dev/null 2>&1 && \
-                       break 2; \
-@@ -174,6 +174,7 @@
- endif
- AFLAGS                += $(GCCFLAGS)
-+ASFLAGS               += $(GCCFLAGS)
- CFLAGS                += $(GCCFLAGS)
- LD            += -m $(ld-emul)
-@@ -715,6 +716,19 @@
- endif
- #
-+# Broadcom BCM947XX variants
-+#
-+ifdef CONFIG_BCM947XX
-+LIBS          += arch/mips/bcm947xx/generic/brcm.o arch/mips/bcm947xx/bcm947xx.o 
-+SUBDIRS               += arch/mips/bcm947xx/generic arch/mips/bcm947xx 
-+LOADADDR      := 0x80001000
-+
-+zImage: vmlinux
-+      $(MAKE) -C arch/$(ARCH)/bcm947xx/compressed
-+export LOADADDR
-+endif
-+
-+#
- # Choosing incompatible machines durings configuration will result in
- # error messages during linking.  Select a default linkscript if
- # none has been choosen above.
-@@ -767,6 +781,7 @@
-       $(MAKE) -C arch/$(ARCH)/tools clean
-       $(MAKE) -C arch/mips/baget clean
-       $(MAKE) -C arch/mips/lasat clean
-+      $(MAKE) -C arch/mips/bcm947xx/compressed clean
- archmrproper:
-       @$(MAKEBOOT) mrproper
-diff -Nur linux-2.4.30/arch/mips/mm/c-r4k.c linux-2.4.30-brcm/arch/mips/mm/c-r4k.c
---- linux-2.4.30/arch/mips/mm/c-r4k.c  2005-01-19 15:09:29.000000000 +0100
-+++ linux-2.4.30-brcm/arch/mips/mm/c-r4k.c     2005-05-26 08:53:48.000000000 +0200
-@@ -1114,3 +1114,47 @@
+diff -urN linux-2.4.30/arch/mips/mm/c-r4k.c linux-2.4.30.dev/arch/mips/mm/c-r4k.c
+--- linux-2.4.30/arch/mips/mm/c-r4k.c  2005-08-22 01:29:09.353378656 +0200
++++ linux-2.4.30.dev/arch/mips/mm/c-r4k.c      2005-08-22 01:34:46.372144016 +0200
+@@ -1118,3 +1118,47 @@
        build_clear_page();
        build_copy_page();
  }
@@ -12780,9 +12863,9 @@ diff -Nur linux-2.4.30/arch/mips/mm/c-r4k.c linux-2.4.30-brcm/arch/mips/mm/c-r4k
 +}
 +
 +
-diff -Nur linux-2.4.30/arch/mips/pci/Makefile linux-2.4.30-brcm/arch/mips/pci/Makefile
+diff -urN linux-2.4.30/arch/mips/pci/Makefile linux-2.4.30.dev/arch/mips/pci/Makefile
 --- linux-2.4.30/arch/mips/pci/Makefile        2005-01-19 15:09:29.000000000 +0100
-+++ linux-2.4.30-brcm/arch/mips/pci/Makefile   2005-05-26 01:02:53.000000000 +0200
++++ linux-2.4.30.dev/arch/mips/pci/Makefile    2005-08-22 01:34:46.385142040 +0200
 @@ -13,7 +13,9 @@
  obj-$(CONFIG_MIPS_MSC)                += ops-msc.o
  obj-$(CONFIG_MIPS_NILE4)      += ops-nile4.o
@@ -12793,10 +12876,10 @@ diff -Nur linux-2.4.30/arch/mips/pci/Makefile linux-2.4.30-brcm/arch/mips/pci/Ma
  obj-$(CONFIG_PCI_AUTO)                += pci_auto.o
  
  include $(TOPDIR)/Rules.make
-diff -Nur linux-2.4.30/drivers/char/serial.c linux-2.4.30-brcm/drivers/char/serial.c
---- linux-2.4.30/drivers/char/serial.c 2005-01-19 15:09:50.000000000 +0100
-+++ linux-2.4.30-brcm/drivers/char/serial.c    2005-05-22 22:55:52.000000000 +0200
-@@ -422,6 +422,10 @@
+diff -urN linux-2.4.30/drivers/char/serial.c linux-2.4.30.dev/drivers/char/serial.c
+--- linux-2.4.30/drivers/char/serial.c 2005-08-22 01:29:09.495357072 +0200
++++ linux-2.4.30.dev/drivers/char/serial.c     2005-08-22 01:34:46.431135048 +0200
+@@ -444,6 +444,10 @@
                return inb(info->port+1);
  #endif
        case SERIAL_IO_MEM:
@@ -12807,7 +12890,7 @@ diff -Nur linux-2.4.30/drivers/char/serial.c linux-2.4.30-brcm/drivers/char/seri
                return readb((unsigned long) info->iomem_base +
                             (offset<<info->iomem_reg_shift));
        default:
-@@ -442,6 +446,9 @@
+@@ -464,6 +468,9 @@
        case SERIAL_IO_MEM:
                writeb(value, (unsigned long) info->iomem_base +
                              (offset<<info->iomem_reg_shift));
@@ -12817,7 +12900,7 @@ diff -Nur linux-2.4.30/drivers/char/serial.c linux-2.4.30-brcm/drivers/char/seri
                break;
        default:
                outb(value, info->port+offset);
-@@ -5972,6 +5979,13 @@
+@@ -5996,6 +6003,13 @@
         *      Divisor, bytesize and parity
         */
        state = rs_table + co->index;
@@ -12831,9 +12914,31 @@ diff -Nur linux-2.4.30/drivers/char/serial.c linux-2.4.30-brcm/drivers/char/seri
        if (doflow)
                state->flags |= ASYNC_CONS_FLOW;
        info = &async_sercons;
-diff -Nur linux-2.4.30/drivers/mtd/chips/cfi_cmdset_0701.c linux-2.4.30-brcm/drivers/mtd/chips/cfi_cmdset_0701.c
+diff -urN linux-2.4.30/drivers/mtd/chips/Config.in linux-2.4.30.dev/drivers/mtd/chips/Config.in
+--- linux-2.4.30/drivers/mtd/chips/Config.in   2003-06-13 16:51:34.000000000 +0200
++++ linux-2.4.30.dev/drivers/mtd/chips/Config.in       2005-08-22 01:34:46.435134440 +0200
+@@ -45,6 +45,7 @@
+ dep_tristate '  Support for Intel/Sharp flash chips' CONFIG_MTD_CFI_INTELEXT $CONFIG_MTD_GEN_PROBE
+ dep_tristate '  Support for AMD/Fujitsu flash chips' CONFIG_MTD_CFI_AMDSTD $CONFIG_MTD_GEN_PROBE
+ dep_tristate '  Support for ST (Advanced Architecture) flash chips' CONFIG_MTD_CFI_STAA $CONFIG_MTD_GEN_PROBE
++dep_tristate '  Support for SST flash chips' CONFIG_MTD_CFI_SSTSTD $CONFIG_MTD_GEN_PROBE
+ dep_tristate '  Support for RAM chips in bus mapping' CONFIG_MTD_RAM $CONFIG_MTD
+ dep_tristate '  Support for ROM chips in bus mapping' CONFIG_MTD_ROM $CONFIG_MTD
+diff -urN linux-2.4.30/drivers/mtd/chips/Makefile linux-2.4.30.dev/drivers/mtd/chips/Makefile
+--- linux-2.4.30/drivers/mtd/chips/Makefile    2003-06-13 16:51:34.000000000 +0200
++++ linux-2.4.30.dev/drivers/mtd/chips/Makefile        2005-08-22 01:34:46.458130944 +0200
+@@ -18,6 +18,7 @@
+ obj-$(CONFIG_MTD_AMDSTD)      += amd_flash.o 
+ obj-$(CONFIG_MTD_CFI)         += cfi_probe.o
+ obj-$(CONFIG_MTD_CFI_STAA)    += cfi_cmdset_0020.o
++obj-$(CONFIG_MTD_CFI_SSTSTD)   += cfi_cmdset_0701.o
+ obj-$(CONFIG_MTD_CFI_AMDSTD)  += cfi_cmdset_0002.o
+ obj-$(CONFIG_MTD_CFI_INTELEXT)        += cfi_cmdset_0001.o
+ obj-$(CONFIG_MTD_GEN_PROBE)   += gen_probe.o
+diff -urN linux-2.4.30/drivers/mtd/chips/cfi_cmdset_0701.c linux-2.4.30.dev/drivers/mtd/chips/cfi_cmdset_0701.c
 --- linux-2.4.30/drivers/mtd/chips/cfi_cmdset_0701.c   1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.30-brcm/drivers/mtd/chips/cfi_cmdset_0701.c      2005-05-22 22:55:52.000000000 +0200
++++ linux-2.4.30.dev/drivers/mtd/chips/cfi_cmdset_0701.c       2005-08-22 01:34:46.433134744 +0200
 @@ -0,0 +1,855 @@
 +/*
 + * Common Flash Interface support:
@@ -13690,9 +13795,9 @@ diff -Nur linux-2.4.30/drivers/mtd/chips/cfi_cmdset_0701.c linux-2.4.30-brcm/dri
 +module_init(cfi_sststd_init);
 +module_exit(cfi_sststd_exit);
 +
-diff -Nur linux-2.4.30/drivers/mtd/chips/cfi_probe.c linux-2.4.30-brcm/drivers/mtd/chips/cfi_probe.c
+diff -urN linux-2.4.30/drivers/mtd/chips/cfi_probe.c linux-2.4.30.dev/drivers/mtd/chips/cfi_probe.c
 --- linux-2.4.30/drivers/mtd/chips/cfi_probe.c 2003-06-13 16:51:34.000000000 +0200
-+++ linux-2.4.30-brcm/drivers/mtd/chips/cfi_probe.c    2005-05-22 22:55:52.000000000 +0200
++++ linux-2.4.30.dev/drivers/mtd/chips/cfi_probe.c     2005-08-22 01:34:46.434134592 +0200
 @@ -67,8 +67,15 @@
        cfi_send_gen_cmd(0xF0, 0, base, map, cfi, cfi->device_type, NULL);
        cfi_send_gen_cmd(0x98, 0x55, base, map, cfi, cfi->device_type, NULL);
@@ -13711,20 +13816,9 @@ diff -Nur linux-2.4.30/drivers/mtd/chips/cfi_probe.c linux-2.4.30-brcm/drivers/m
  
        if (!cfi->numchips) {
                /* This is the first time we're called. Set up the CFI 
-diff -Nur linux-2.4.30/drivers/mtd/chips/Config.in linux-2.4.30-brcm/drivers/mtd/chips/Config.in
---- linux-2.4.30/drivers/mtd/chips/Config.in   2003-06-13 16:51:34.000000000 +0200
-+++ linux-2.4.30-brcm/drivers/mtd/chips/Config.in      2005-05-22 22:55:52.000000000 +0200
-@@ -45,6 +45,7 @@
- dep_tristate '  Support for Intel/Sharp flash chips' CONFIG_MTD_CFI_INTELEXT $CONFIG_MTD_GEN_PROBE
- dep_tristate '  Support for AMD/Fujitsu flash chips' CONFIG_MTD_CFI_AMDSTD $CONFIG_MTD_GEN_PROBE
- dep_tristate '  Support for ST (Advanced Architecture) flash chips' CONFIG_MTD_CFI_STAA $CONFIG_MTD_GEN_PROBE
-+dep_tristate '  Support for SST flash chips' CONFIG_MTD_CFI_SSTSTD $CONFIG_MTD_GEN_PROBE
- dep_tristate '  Support for RAM chips in bus mapping' CONFIG_MTD_RAM $CONFIG_MTD
- dep_tristate '  Support for ROM chips in bus mapping' CONFIG_MTD_ROM $CONFIG_MTD
-diff -Nur linux-2.4.30/drivers/mtd/chips/gen_probe.c linux-2.4.30-brcm/drivers/mtd/chips/gen_probe.c
+diff -urN linux-2.4.30/drivers/mtd/chips/gen_probe.c linux-2.4.30.dev/drivers/mtd/chips/gen_probe.c
 --- linux-2.4.30/drivers/mtd/chips/gen_probe.c 2003-08-25 13:44:42.000000000 +0200
-+++ linux-2.4.30-brcm/drivers/mtd/chips/gen_probe.c    2005-05-22 22:55:52.000000000 +0200
++++ linux-2.4.30.dev/drivers/mtd/chips/gen_probe.c     2005-08-22 01:34:46.436134288 +0200
 @@ -332,9 +332,13 @@
                return cfi_cmdset_0002(map, primary);
  #endif
@@ -13740,20 +13834,40 @@ diff -Nur linux-2.4.30/drivers/mtd/chips/gen_probe.c linux-2.4.30-brcm/drivers/m
        }
  
        return cfi_cmdset_unknown(map, primary);
-diff -Nur linux-2.4.30/drivers/mtd/chips/Makefile linux-2.4.30-brcm/drivers/mtd/chips/Makefile
---- linux-2.4.30/drivers/mtd/chips/Makefile    2003-06-13 16:51:34.000000000 +0200
-+++ linux-2.4.30-brcm/drivers/mtd/chips/Makefile       2005-05-22 22:55:52.000000000 +0200
-@@ -18,6 +18,7 @@
- obj-$(CONFIG_MTD_AMDSTD)      += amd_flash.o 
- obj-$(CONFIG_MTD_CFI)         += cfi_probe.o
- obj-$(CONFIG_MTD_CFI_STAA)    += cfi_cmdset_0020.o
-+obj-$(CONFIG_MTD_CFI_SSTSTD)   += cfi_cmdset_0701.o
- obj-$(CONFIG_MTD_CFI_AMDSTD)  += cfi_cmdset_0002.o
- obj-$(CONFIG_MTD_CFI_INTELEXT)        += cfi_cmdset_0001.o
- obj-$(CONFIG_MTD_GEN_PROBE)   += gen_probe.o
-diff -Nur linux-2.4.30/drivers/mtd/maps/bcm947xx-flash.c linux-2.4.30-brcm/drivers/mtd/maps/bcm947xx-flash.c
+diff -urN linux-2.4.30/drivers/mtd/maps/Config.in linux-2.4.30.dev/drivers/mtd/maps/Config.in
+--- linux-2.4.30/drivers/mtd/maps/Config.in    2005-08-22 01:29:09.605340352 +0200
++++ linux-2.4.30.dev/drivers/mtd/maps/Config.in        2005-08-22 01:34:46.460130640 +0200
+@@ -48,6 +48,7 @@
+ fi
+ if [ "$CONFIG_MIPS" = "y" ]; then
++   dep_tristate '  CFI Flash device mapped on Broadcom BCM947XX boards' CONFIG_MTD_BCM947XX $CONFIG_MTD_CFI
+    dep_tristate '  Pb1000 MTD support' CONFIG_MTD_PB1000 $CONFIG_MIPS_PB1000
+    dep_tristate '  Pb1500 MTD support' CONFIG_MTD_PB1500 $CONFIG_MIPS_PB1500
+    dep_tristate '  Pb1100 MTD support' CONFIG_MTD_PB1100 $CONFIG_MIPS_PB1100
+diff -urN linux-2.4.30/drivers/mtd/maps/Makefile linux-2.4.30.dev/drivers/mtd/maps/Makefile
+--- linux-2.4.30/drivers/mtd/maps/Makefile     2005-08-22 01:29:09.606340200 +0200
++++ linux-2.4.30.dev/drivers/mtd/maps/Makefile 2005-08-22 01:34:46.460130640 +0200
+@@ -3,6 +3,8 @@
+ #
+ # $Id: Makefile,v 1.37 2003/01/24 14:26:38 dwmw2 Exp $
++EXTRA_CFLAGS := -I$(TOPDIR)/arch/mips/bcm947xx/include
++
+ BELOW25               := $(shell echo $(PATCHLEVEL) | sed s/[1234]/y/)
+ ifeq ($(BELOW25),y)
+@@ -10,6 +12,7 @@
+ endif
+ # Chip mappings
++obj-$(CONFIG_MTD_BCM947XX)    += bcm947xx-flash.o
+ obj-$(CONFIG_MTD_CDB89712)    += cdb89712.o
+ obj-$(CONFIG_MTD_ARM_INTEGRATOR)+= integrator-flash.o
+ obj-$(CONFIG_MTD_CFI_FLAGADM) += cfi_flagadm.o
+diff -urN linux-2.4.30/drivers/mtd/maps/bcm947xx-flash.c linux-2.4.30.dev/drivers/mtd/maps/bcm947xx-flash.c
 --- linux-2.4.30/drivers/mtd/maps/bcm947xx-flash.c     1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.30-brcm/drivers/mtd/maps/bcm947xx-flash.c        2005-05-22 22:55:52.000000000 +0200
++++ linux-2.4.30.dev/drivers/mtd/maps/bcm947xx-flash.c 2005-08-22 01:34:46.459130792 +0200
 @@ -0,0 +1,236 @@
 +/*
 + * Flash mapping for BCM947XX boards
@@ -13991,40 +14105,9 @@ diff -Nur linux-2.4.30/drivers/mtd/maps/bcm947xx-flash.c linux-2.4.30-brcm/drive
 +
 +module_init(init_bcm947xx_map);
 +module_exit(cleanup_bcm947xx_map);
-diff -Nur linux-2.4.30/drivers/mtd/maps/Config.in linux-2.4.30-brcm/drivers/mtd/maps/Config.in
---- linux-2.4.30/drivers/mtd/maps/Config.in    2003-06-13 16:51:34.000000000 +0200
-+++ linux-2.4.30-brcm/drivers/mtd/maps/Config.in       2005-05-25 18:58:03.000000000 +0200
-@@ -48,6 +48,7 @@
- fi
- if [ "$CONFIG_MIPS" = "y" ]; then
-+   dep_tristate '  CFI Flash device mapped on Broadcom BCM947XX boards' CONFIG_MTD_BCM947XX $CONFIG_MTD_CFI
-    dep_tristate '  Pb1000 MTD support' CONFIG_MTD_PB1000 $CONFIG_MIPS_PB1000
-    dep_tristate '  Pb1500 MTD support' CONFIG_MTD_PB1500 $CONFIG_MIPS_PB1500
-    dep_tristate '  Pb1100 MTD support' CONFIG_MTD_PB1100 $CONFIG_MIPS_PB1100
-diff -Nur linux-2.4.30/drivers/mtd/maps/Makefile linux-2.4.30-brcm/drivers/mtd/maps/Makefile
---- linux-2.4.30/drivers/mtd/maps/Makefile     2003-06-13 16:51:34.000000000 +0200
-+++ linux-2.4.30-brcm/drivers/mtd/maps/Makefile        2005-05-25 18:57:31.000000000 +0200
-@@ -3,6 +3,8 @@
- #
- # $Id: Makefile,v 1.37 2003/01/24 14:26:38 dwmw2 Exp $
-+EXTRA_CFLAGS := -I$(TOPDIR)/arch/mips/bcm947xx/include
-+
- BELOW25               := $(shell echo $(PATCHLEVEL) | sed s/[1234]/y/)
- ifeq ($(BELOW25),y)
-@@ -10,6 +12,7 @@
- endif
- # Chip mappings
-+obj-$(CONFIG_MTD_BCM947XX)    += bcm947xx-flash.o
- obj-$(CONFIG_MTD_CDB89712)    += cdb89712.o
- obj-$(CONFIG_MTD_ARM_INTEGRATOR)+= integrator-flash.o
- obj-$(CONFIG_MTD_CFI_FLAGADM) += cfi_flagadm.o
-diff -Nur linux-2.4.30/drivers/net/Config.in linux-2.4.30-brcm/drivers/net/Config.in
---- linux-2.4.30/drivers/net/Config.in 2005-01-19 15:09:56.000000000 +0100
-+++ linux-2.4.30-brcm/drivers/net/Config.in    2005-05-25 04:34:51.000000000 +0200
+diff -urN linux-2.4.30/drivers/net/Config.in linux-2.4.30.dev/drivers/net/Config.in
+--- linux-2.4.30/drivers/net/Config.in 2005-08-22 01:29:11.903990904 +0200
++++ linux-2.4.30.dev/drivers/net/Config.in     2005-08-22 01:34:46.485126840 +0200
 @@ -2,6 +2,8 @@
  # Network device configuration
  #
@@ -14034,7 +14117,7 @@ diff -Nur linux-2.4.30/drivers/net/Config.in linux-2.4.30-brcm/drivers/net/Confi
  source drivers/net/arcnet/Config.in
  
  tristate 'Dummy net driver support' CONFIG_DUMMY
-@@ -173,6 +175,7 @@
+@@ -174,6 +176,7 @@
  
        dep_tristate '    Apricot Xen-II on board Ethernet' CONFIG_APRICOT $CONFIG_ISA
        dep_tristate '    Broadcom 4400 ethernet support (EXPERIMENTAL)' CONFIG_B44 $CONFIG_PCI $CONFIG_EXPERIMENTAL
@@ -14042,274 +14125,56 @@ diff -Nur linux-2.4.30/drivers/net/Config.in linux-2.4.30-brcm/drivers/net/Confi
        dep_tristate '    CS89x0 support' CONFIG_CS89x0 $CONFIG_ISA
        dep_tristate '    DECchip Tulip (dc21x4x) PCI support' CONFIG_TULIP $CONFIG_PCI
        if [ "$CONFIG_TULIP" = "y" -o "$CONFIG_TULIP" = "m" ]; then
-diff -Nur linux-2.4.30/drivers/net/diag/diag_led.c linux-2.4.30-brcm/drivers/net/diag/diag_led.c
---- linux-2.4.30/drivers/net/diag/diag_led.c   1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.30-brcm/drivers/net/diag/diag_led.c      2005-05-25 20:41:19.000000000 +0200
-@@ -0,0 +1,244 @@
-+/*
-+ * diag_led.c - replacement diag module
-+ *
-+ * Copyright (C) 2004 Mike Baker,
-+ *                    Imre Kaloz <kaloz@dune.hu>
-+ *
-+ * This program is free software; you can redistribute it and/or
-+ * modify it under the terms of the GNU General Public License
-+ * as published by the Free Software Foundation; either version 2
-+ * of the License, or (at your option) any later version.
-+ *
-+ * This program is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-+ * GNU General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU General Public License
-+ * along with this program; if not, write to the Free Software
-+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
-+ *
-+ * $Id: diag_led.c,v 1.5 2005/04/18 09:05:24 mbm Exp $
-+ */
-+
-+/*
-+ * ChangeLog:
-+ * 2004/03/28 initial release 
-+ * 2004/08/26 asus & buffalo support added
-+ * 2005/03/14 asus wl-500g deluxe and buffalo v2 support added
-+ * 2005/04/13 added licensing informations
-+ * 2005/04/18 base reset polarity off initial readings
-+ */
-+
-+#include <linux/module.h>
-+#include <linux/init.h>
-+#include <linux/kernel.h>
-+#include <linux/sysctl.h>
-+#include <asm/io.h>
-+#include <typedefs.h>
-+#include <bcmdevs.h>
-+#include <sbutils.h>
-+
-+extern char * nvram_get(const char *name);
-+static void *sbh;
-+
-+// v2.x - - - - -
-+#define DIAG_GPIO (1<<1)
-+#define DMZ_GPIO  (1<<7)
-+
-+static void set_gpio(uint32 mask, uint32 value) {
-+      sb_gpiocontrol(sbh,mask,0);
-+      sb_gpioouten(sbh,mask,mask);
-+      sb_gpioout(sbh,mask,value);
-+}
-+
-+static void v2_set_diag(u8 state) {
-+      set_gpio(DIAG_GPIO,state);
-+}
-+static void v2_set_dmz(u8 state) {
-+      set_gpio(DMZ_GPIO,state);
-+}
-+
-+// v1.x - - - - -
-+#define LED_DIAG   0x13
-+#define LED_DMZ    0x12
-+
-+static void v1_set_diag(u8 state) {
-+      if (!state) {
-+              *(volatile u8*)(KSEG1ADDR(BCM4710_EUART)+LED_DIAG)=0xFF;
-+      } else {
-+              *(volatile u8*)(KSEG1ADDR(BCM4710_EUART)+LED_DIAG);
-+      }
-+}
-+static void v1_set_dmz(u8 state) {
-+      if (!state) {
-+              *(volatile u8*)(KSEG1ADDR(BCM4710_EUART)+LED_DMZ)=0xFF;
-+      } else {
-+              *(volatile u8*)(KSEG1ADDR(BCM4710_EUART)+LED_DMZ);
-+      }
-+}
-+
-+// - - - - -
-+static void ignore(u8 ignored) {};
-+
-+// - - - - -
-+#define BIT_DMZ         0x01
-+#define BIT_DIAG        0x04
-+
-+void (*set_diag)(u8 state);
-+void (*set_dmz)(u8 state);
-+
-+static unsigned int diag = 0;
-+
-+static void diag_change()
-+{
-+      set_diag(0xFF); // off
-+      set_dmz(0xFF); // off
-+
-+      if(diag & BIT_DIAG)
-+              set_diag(0x00); // on
-+      if(diag & BIT_DMZ)
-+              set_dmz(0x00); // on
-+}
-+
-+static int proc_diag(ctl_table *table, int write, struct file *filp,
-+              void *buffer, size_t *lenp)
-+{
-+      int r;
-+      r = proc_dointvec(table, write, filp, buffer, lenp);
-+      if (write && !r) {
-+              diag_change();
-+      }
-+      return r;
-+}
-+
-+// - - - - -
-+static unsigned char reset_gpio = 0;
-+static unsigned char reset_polarity = 0;
-+static unsigned int reset = 0;
-+
-+static int proc_reset(ctl_table *table, int write, struct file *filp,
-+              void *buffer, size_t *lenp)
-+{
-+
-+      if (reset_gpio) {
-+              sb_gpiocontrol(sbh,reset_gpio,reset_gpio);
-+              sb_gpioouten(sbh,reset_gpio,0);
-+              reset=!(sb_gpioin(sbh)&reset_gpio);
-+
-+              if (reset_polarity) reset=!reset;
-+      } else {
-+              reset=0;
-+      }
-+
-+      return proc_dointvec(table, write, filp, buffer, lenp);
-+}
-+
-+// - - - - -
-+static struct ctl_table_header *diag_sysctl_header;
-+
-+static ctl_table sys_diag[] = {
-+         { 
-+         ctl_name: 2000,
-+         procname: "diag", 
-+         data: &diag,
-+         maxlen: sizeof(diag), 
-+         mode: 0644,
-+         proc_handler: proc_diag
-+       },
-+       {
-+         ctl_name: 2001,
-+         procname: "reset",
-+         data: &reset,
-+         maxlen: sizeof(reset),
-+         mode: 0444,
-+         proc_handler: proc_reset 
-+       },
-+         { 0 }
-+};
-+
-+static int __init diag_init()
-+{
-+      char *buf;
-+      u32 board_type;
-+      sbh = sb_kattach();
-+      sb_gpiosetcore(sbh);
-+
-+      board_type = sb_boardtype(sbh);
-+      printk(KERN_INFO "diag boardtype: %08x\n",board_type);
-+
-+      set_diag=ignore;
-+      set_dmz=ignore;
-+      
-+      if ((board_type & 0xf00) == 0x400) {
-+              buf=nvram_get("boardtype")?:"";
-+              if (!strcmp(buf,"bcm94710dev")) {
-+                      buf=nvram_get("boardnum")?:"";
-+                      if (!strcmp(buf,"42")) {
-+                              // wrt54g v1.x
-+                              set_diag=v1_set_diag;
-+                              set_dmz=v1_set_dmz;
-+                              reset_gpio=(1<<6);
-+                      }
-+                      if (!strcmp(buf,"asusX")) {
-+                              //asus wl-500g
-+                              reset_gpio=(1<<6);
-+                      }
-+              }
-+              if (!strcmp(buf,"bcm94710ap")) {
-+                      buf=nvram_get("boardnum")?:"";
-+                      if (!strcmp(buf,"42")) {
-+                              // buffalo
-+                              set_dmz=v2_set_dmz;
-+                              reset_gpio=(1<<4);
-+                      }
-+                      if (!strcmp(buf,"44")) {
-+                              //dell truemobile
-+                              set_dmz=v2_set_dmz;
-+                              reset_gpio=(1<<0);
-+                      }
-+              }
-+      } else {
-+              buf=nvram_get("boardnum")?:"";
-+              if (!strcmp(buf,"42")) {
-+                      //linksys
-+                      set_diag=v2_set_diag;
-+                      set_dmz=v2_set_dmz;
-+                      reset_gpio=(1<<6);
-+              }
-+              if (!strcmp(buf,"44")) {
-+                      //motorola
-+                      reset_gpio=(1<<5);
-+              }
-+              if (!strcmp(buf,"00")) {
-+                      //buffalo
-+                      reset_gpio=(1<<7);
-+              }
-+              if (!strcmp(buf,"45")) {
-+                      //wl-500g deluxe
-+                      reset_gpio=(1<<6);
-+              }
-+      }
-+
-+      
-+      sb_gpiocontrol(sbh,reset_gpio,reset_gpio);
-+      sb_gpioouten(sbh,reset_gpio,0);
-+      reset_polarity=!(sb_gpioin(sbh)&reset_gpio);
-+
-+      diag_sysctl_header = register_sysctl_table(sys_diag, 0);
-+      diag_change();
-+
-+      return 0;
-+}
-+
-+static void __exit diag_exit()
-+{
-+      unregister_sysctl_table(diag_sysctl_header);
-+}
-+
-+EXPORT_NO_SYMBOLS;
-+MODULE_AUTHOR("openwrt.org");
-+MODULE_LICENSE("GPL");
-+
-+module_init(diag_init);
-+module_exit(diag_exit);
-diff -Nur linux-2.4.30/drivers/net/diag/Makefile linux-2.4.30-brcm/drivers/net/diag/Makefile
---- linux-2.4.30/drivers/net/diag/Makefile     1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.30-brcm/drivers/net/diag/Makefile        2005-05-26 17:13:16.000000000 +0200
-@@ -0,0 +1,13 @@
-+#$Id$
-+
-+EXTRA_CFLAGS := -I$(TOPDIR)/arch/mips/bcm947xx/include -DBCMDRIVER
-+
-+O_TARGET       := diag.o
+diff -urN linux-2.4.30/drivers/net/Makefile linux-2.4.30.dev/drivers/net/Makefile
+--- linux-2.4.30/drivers/net/Makefile  2005-08-22 01:29:11.306081800 +0200
++++ linux-2.4.30.dev/drivers/net/Makefile      2005-08-22 01:41:45.930653216 +0200
+@@ -3,6 +3,8 @@
+ # Makefile for the Linux network (ethercard) device drivers.
+ #
++EXTRA_CFLAGS := -I$(TOPDIR)/arch/mips/bcm947xx/include
 +
-+MAC_OBJS       := diag_led.o
+ obj-y           :=
+ obj-m           :=
+ obj-n           :=
+@@ -39,6 +41,9 @@
+   obj-$(CONFIG_ISDN) += slhc.o
+ endif
++subdir-$(CONFIG_HND) += hnd
++subdir-$(CONFIG_ET) += et
++subdir-$(CONFIG_WL) += wl
+ subdir-$(CONFIG_NET_PCMCIA) += pcmcia
+ subdir-$(CONFIG_NET_WIRELESS) += wireless
+ subdir-$(CONFIG_TULIP) += tulip
+@@ -69,6 +74,16 @@
+ obj-$(CONFIG_MYRI_SBUS) += myri_sbus.o
+ obj-$(CONFIG_SUNGEM) += sungem.o
++ifeq ($(CONFIG_HND),y)
++  obj-y += hnd/hnd.o
++endif
++ifeq ($(CONFIG_ET),y)
++  obj-y += et/et.o
++endif
++ifeq ($(CONFIG_WL),y)
++  obj-y += wl/wl.o
++endif
 +
-+export-objs    := 
-+obj-y          := $(MAC_OBJS)
-+obj-m          := $(O_TARGET)
+ obj-$(CONFIG_MACE) += mace.o
+ obj-$(CONFIG_BMAC) += bmac.o
+ obj-$(CONFIG_GMAC) += gmac.o
+@@ -266,6 +281,7 @@
+ endif
+ endif
 +
-+include $(TOPDIR)/Rules.make
-diff -Nur linux-2.4.30/drivers/net/et/Makefile linux-2.4.30-brcm/drivers/net/et/Makefile
+ include $(TOPDIR)/Rules.make
+ clean:
+diff -urN linux-2.4.30/drivers/net/et/Makefile linux-2.4.30.dev/drivers/net/et/Makefile
 --- linux-2.4.30/drivers/net/et/Makefile       1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.30-brcm/drivers/net/et/Makefile  2005-05-26 02:37:05.000000000 +0200
++++ linux-2.4.30.dev/drivers/net/et/Makefile   2005-08-22 01:34:46.505123800 +0200
 @@ -0,0 +1,21 @@
 +#
 +# Makefile for the Broadcom et driver
@@ -14332,9 +14197,32 @@ diff -Nur linux-2.4.30/drivers/net/et/Makefile linux-2.4.30-brcm/drivers/net/et/
 +obj-m         := $(O_TARGET)
 +
 +include $(TOPDIR)/Rules.make
-diff -Nur linux-2.4.30/drivers/net/hnd/bcmsrom.c linux-2.4.30-brcm/drivers/net/hnd/bcmsrom.c
+diff -urN linux-2.4.30/drivers/net/hnd/Makefile linux-2.4.30.dev/drivers/net/hnd/Makefile
+--- linux-2.4.30/drivers/net/hnd/Makefile      1970-01-01 01:00:00.000000000 +0100
++++ linux-2.4.30.dev/drivers/net/hnd/Makefile  2005-08-22 01:34:46.511122888 +0200
+@@ -0,0 +1,19 @@
++#
++# Makefile for the BCM47xx specific kernel interface routines
++# under Linux.
++#
++
++EXTRA_CFLAGS  += -I$(TOPDIR)/arch/mips/bcm947xx/include -DBCMDRIVER
++
++O_TARGET      := hnd.o
++
++HND_OBJS      := bcmutils.o hnddma.o linux_osl.o sbutils.o bcmsrom.o
++
++export-objs   := shared_ksyms.o
++obj-y         := shared_ksyms.o $(HND_OBJS)
++obj-m           := $(O_TARGET)
++
++include $(TOPDIR)/Rules.make
++
++shared_ksyms.c: shared_ksyms.sh $(HND_OBJS)
++      sh -e $< $(HND_OBJS) > $@
+diff -urN linux-2.4.30/drivers/net/hnd/bcmsrom.c linux-2.4.30.dev/drivers/net/hnd/bcmsrom.c
 --- linux-2.4.30/drivers/net/hnd/bcmsrom.c     1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.30-brcm/drivers/net/hnd/bcmsrom.c        2005-05-22 23:00:53.000000000 +0200
++++ linux-2.4.30.dev/drivers/net/hnd/bcmsrom.c 2005-08-22 01:34:46.507123496 +0200
 @@ -0,0 +1,714 @@
 +/*
 + *  Misc useful routines to access NIC SROM/OTP .
@@ -15050,9 +14938,9 @@ diff -Nur linux-2.4.30/drivers/net/hnd/bcmsrom.c linux-2.4.30-brcm/drivers/net/h
 +      return (rc);
 +}
 +
-diff -Nur linux-2.4.30/drivers/net/hnd/bcmutils.c linux-2.4.30-brcm/drivers/net/hnd/bcmutils.c
+diff -urN linux-2.4.30/drivers/net/hnd/bcmutils.c linux-2.4.30.dev/drivers/net/hnd/bcmutils.c
 --- linux-2.4.30/drivers/net/hnd/bcmutils.c    1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.30-brcm/drivers/net/hnd/bcmutils.c       2005-05-24 20:26:25.000000000 +0200
++++ linux-2.4.30.dev/drivers/net/hnd/bcmutils.c        2005-08-22 01:34:46.508123344 +0200
 @@ -0,0 +1,862 @@
 +/*
 + * Misc useful OS-independent routines.
@@ -15916,9 +15804,9 @@ diff -Nur linux-2.4.30/drivers/net/hnd/bcmutils.c linux-2.4.30-brcm/drivers/net/
 +}
 +
 +
-diff -Nur linux-2.4.30/drivers/net/hnd/hnddma.c linux-2.4.30-brcm/drivers/net/hnd/hnddma.c
+diff -urN linux-2.4.30/drivers/net/hnd/hnddma.c linux-2.4.30.dev/drivers/net/hnd/hnddma.c
 --- linux-2.4.30/drivers/net/hnd/hnddma.c      1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.30-brcm/drivers/net/hnd/hnddma.c 2005-05-25 01:12:49.000000000 +0200
++++ linux-2.4.30.dev/drivers/net/hnd/hnddma.c  2005-08-22 01:34:46.510123040 +0200
 @@ -0,0 +1,865 @@
 +/*
 + * Generic Broadcom Home Networking Division (HND) DMA module.
@@ -16785,9 +16673,9 @@ diff -Nur linux-2.4.30/drivers/net/hnd/hnddma.c linux-2.4.30-brcm/drivers/net/hn
 +      /* kick the chip */
 +      W_REG(&di->regs->xmtptr, I2B(di->txout));
 +}
-diff -Nur linux-2.4.30/drivers/net/hnd/linux_osl.c linux-2.4.30-brcm/drivers/net/hnd/linux_osl.c
+diff -urN linux-2.4.30/drivers/net/hnd/linux_osl.c linux-2.4.30.dev/drivers/net/hnd/linux_osl.c
 --- linux-2.4.30/drivers/net/hnd/linux_osl.c   1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.30-brcm/drivers/net/hnd/linux_osl.c      2005-05-22 23:01:31.000000000 +0200
++++ linux-2.4.30.dev/drivers/net/hnd/linux_osl.c       2005-08-22 01:34:46.511122888 +0200
 @@ -0,0 +1,640 @@
 +/*
 + * Linux OS Independent Layer
@@ -17429,32 +17317,9 @@ diff -Nur linux-2.4.30/drivers/net/hnd/linux_osl.c linux-2.4.30-brcm/drivers/net
 +}
 +
 +#endif        /* BINOSL */
-diff -Nur linux-2.4.30/drivers/net/hnd/Makefile linux-2.4.30-brcm/drivers/net/hnd/Makefile
---- linux-2.4.30/drivers/net/hnd/Makefile      1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.30-brcm/drivers/net/hnd/Makefile 2005-05-25 18:54:08.000000000 +0200
-@@ -0,0 +1,19 @@
-+#
-+# Makefile for the BCM47xx specific kernel interface routines
-+# under Linux.
-+#
-+
-+EXTRA_CFLAGS  += -I$(TOPDIR)/arch/mips/bcm947xx/include -DBCMDRIVER
-+
-+O_TARGET      := hnd.o
-+
-+HND_OBJS      := bcmutils.o hnddma.o linux_osl.o sbutils.o bcmsrom.o
-+
-+export-objs   := shared_ksyms.o
-+obj-y         := shared_ksyms.o $(HND_OBJS)
-+obj-m           := $(O_TARGET)
-+
-+include $(TOPDIR)/Rules.make
-+
-+shared_ksyms.c: shared_ksyms.sh $(HND_OBJS)
-+      sh -e $< $(HND_OBJS) > $@
-diff -Nur linux-2.4.30/drivers/net/hnd/sbutils.c linux-2.4.30-brcm/drivers/net/hnd/sbutils.c
+diff -urN linux-2.4.30/drivers/net/hnd/sbutils.c linux-2.4.30.dev/drivers/net/hnd/sbutils.c
 --- linux-2.4.30/drivers/net/hnd/sbutils.c     1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.30-brcm/drivers/net/hnd/sbutils.c        2005-05-22 23:01:41.000000000 +0200
++++ linux-2.4.30.dev/drivers/net/hnd/sbutils.c 2005-08-22 01:34:46.526120608 +0200
 @@ -0,0 +1,2063 @@
 +/*
 + * Misc utility routines for accessing chip-specific features
@@ -19519,9 +19384,9 @@ diff -Nur linux-2.4.30/drivers/net/hnd/sbutils.c linux-2.4.30-brcm/drivers/net/h
 +}
 +
 +
-diff -Nur linux-2.4.30/drivers/net/hnd/shared_ksyms.sh linux-2.4.30-brcm/drivers/net/hnd/shared_ksyms.sh
+diff -urN linux-2.4.30/drivers/net/hnd/shared_ksyms.sh linux-2.4.30.dev/drivers/net/hnd/shared_ksyms.sh
 --- linux-2.4.30/drivers/net/hnd/shared_ksyms.sh       1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.30-brcm/drivers/net/hnd/shared_ksyms.sh  2005-05-22 22:55:51.000000000 +0200
++++ linux-2.4.30.dev/drivers/net/hnd/shared_ksyms.sh   2005-08-22 01:34:46.527120456 +0200
 @@ -0,0 +1,21 @@
 +#!/bin/sh
 +#
@@ -19544,65 +19409,9 @@ diff -Nur linux-2.4.30/drivers/net/hnd/shared_ksyms.sh linux-2.4.30-brcm/drivers
 +for file in $* ; do
 +    ${NM} $file | sed -ne 's/[0-9A-Fa-f]* [DT] \([^ ]*\)/extern void \1; EXPORT_SYMBOL(\1);/p'
 +done
-diff -Nur linux-2.4.30/drivers/net/Makefile linux-2.4.30-brcm/drivers/net/Makefile
---- linux-2.4.30/drivers/net/Makefile  2005-01-19 15:09:56.000000000 +0100
-+++ linux-2.4.30-brcm/drivers/net/Makefile     2005-05-25 19:07:52.000000000 +0200
-@@ -3,6 +3,8 @@
- # Makefile for the Linux network (ethercard) device drivers.
- #
-+EXTRA_CFLAGS := -I$(TOPDIR)/arch/mips/bcm947xx/include
-+
- obj-y           :=
- obj-m           :=
- obj-n           :=
-@@ -21,6 +23,8 @@
- list-multi    :=      rcpci.o
- rcpci-objs    :=      rcpci45.o rclanmtl.o
-+subdir-m += diag
-+
- ifeq ($(CONFIG_TULIP),y)
-   obj-y += tulip/tulip.o
- endif
-@@ -39,6 +43,9 @@
-   obj-$(CONFIG_ISDN) += slhc.o
- endif
-+subdir-$(CONFIG_HND) += hnd
-+subdir-$(CONFIG_ET) += et
-+subdir-$(CONFIG_WL) += wl
- subdir-$(CONFIG_NET_PCMCIA) += pcmcia
- subdir-$(CONFIG_NET_WIRELESS) += wireless
- subdir-$(CONFIG_TULIP) += tulip
-@@ -69,6 +76,16 @@
- obj-$(CONFIG_MYRI_SBUS) += myri_sbus.o
- obj-$(CONFIG_SUNGEM) += sungem.o
-+ifeq ($(CONFIG_HND),y)
-+  obj-y += hnd/hnd.o
-+endif
-+ifeq ($(CONFIG_ET),y)
-+  obj-y += et/et.o
-+endif
-+ifeq ($(CONFIG_WL),y)
-+  obj-y += wl/wl.o
-+endif
-+
- obj-$(CONFIG_MACE) += mace.o
- obj-$(CONFIG_BMAC) += bmac.o
- obj-$(CONFIG_GMAC) += gmac.o
-@@ -265,6 +282,7 @@
- endif
- endif
-+
- include $(TOPDIR)/Rules.make
- clean:
-diff -Nur linux-2.4.30/drivers/net/wireless/Config.in linux-2.4.30-brcm/drivers/net/wireless/Config.in
+diff -urN linux-2.4.30/drivers/net/wireless/Config.in linux-2.4.30.dev/drivers/net/wireless/Config.in
 --- linux-2.4.30/drivers/net/wireless/Config.in        2004-11-17 12:54:21.000000000 +0100
-+++ linux-2.4.30-brcm/drivers/net/wireless/Config.in   2005-05-22 22:55:52.000000000 +0200
++++ linux-2.4.30.dev/drivers/net/wireless/Config.in    2005-08-22 01:34:46.558115744 +0200
 @@ -13,6 +13,7 @@
  fi
  
@@ -19611,9 +19420,9 @@ diff -Nur linux-2.4.30/drivers/net/wireless/Config.in linux-2.4.30-brcm/drivers/
     dep_tristate '    Hermes in PLX9052 based PCI adaptor support (Netgear MA301 etc.) (EXPERIMENTAL)' CONFIG_PLX_HERMES $CONFIG_HERMES $CONFIG_EXPERIMENTAL
     dep_tristate '    Hermes in TMD7160/NCP130 based PCI adaptor support (Pheecom WL-PCI etc.) (EXPERIMENTAL)' CONFIG_TMD_HERMES $CONFIG_HERMES $CONFIG_EXPERIMENTAL
     dep_tristate '    Prism 2.5 PCI 802.11b adaptor support (EXPERIMENTAL)' CONFIG_PCI_HERMES $CONFIG_HERMES $CONFIG_EXPERIMENTAL
-diff -Nur linux-2.4.30/drivers/net/wl/Makefile linux-2.4.30-brcm/drivers/net/wl/Makefile
+diff -urN linux-2.4.30/drivers/net/wl/Makefile linux-2.4.30.dev/drivers/net/wl/Makefile
 --- linux-2.4.30/drivers/net/wl/Makefile       1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.30-brcm/drivers/net/wl/Makefile  2005-05-26 12:04:50.000000000 +0200
++++ linux-2.4.30.dev/drivers/net/wl/Makefile   2005-08-22 01:34:46.562115136 +0200
 @@ -0,0 +1,26 @@
 +#
 +# Makefile for the Broadcom wl driver
@@ -19641,9 +19450,9 @@ diff -Nur linux-2.4.30/drivers/net/wl/Makefile linux-2.4.30-brcm/drivers/net/wl/
 +obj-m         := $(O_TARGET)
 +
 +include $(TOPDIR)/Rules.make
-diff -Nur linux-2.4.30/drivers/parport/Config.in linux-2.4.30-brcm/drivers/parport/Config.in
+diff -urN linux-2.4.30/drivers/parport/Config.in linux-2.4.30.dev/drivers/parport/Config.in
 --- linux-2.4.30/drivers/parport/Config.in     2004-02-18 14:36:31.000000000 +0100
-+++ linux-2.4.30-brcm/drivers/parport/Config.in        2005-05-22 22:55:52.000000000 +0200
++++ linux-2.4.30.dev/drivers/parport/Config.in 2005-08-22 01:34:46.571113768 +0200
 @@ -11,6 +11,7 @@
  tristate 'Parallel port support' CONFIG_PARPORT
  if [ "$CONFIG_PARPORT" != "n" ]; then
@@ -19652,9 +19461,9 @@ diff -Nur linux-2.4.30/drivers/parport/Config.in linux-2.4.30-brcm/drivers/parpo
     if [ "$CONFIG_PARPORT_PC" != "n" -a "$CONFIG_SERIAL" != "n" ]; then
        if [ "$CONFIG_SERIAL" = "m" ]; then
           define_tristate CONFIG_PARPORT_PC_CML1 m
-diff -Nur linux-2.4.30/drivers/parport/Makefile linux-2.4.30-brcm/drivers/parport/Makefile
+diff -urN linux-2.4.30/drivers/parport/Makefile linux-2.4.30.dev/drivers/parport/Makefile
 --- linux-2.4.30/drivers/parport/Makefile      2004-08-08 01:26:05.000000000 +0200
-+++ linux-2.4.30-brcm/drivers/parport/Makefile 2005-05-22 22:55:52.000000000 +0200
++++ linux-2.4.30.dev/drivers/parport/Makefile  2005-08-22 01:34:46.572113616 +0200
 @@ -22,6 +22,7 @@
  
  obj-$(CONFIG_PARPORT)         += parport.o
@@ -19663,9 +19472,9 @@ diff -Nur linux-2.4.30/drivers/parport/Makefile linux-2.4.30-brcm/drivers/parpor
  obj-$(CONFIG_PARPORT_PC_PCMCIA)       += parport_cs.o
  obj-$(CONFIG_PARPORT_AMIGA)   += parport_amiga.o
  obj-$(CONFIG_PARPORT_MFC3)    += parport_mfc3.o
-diff -Nur linux-2.4.30/drivers/parport/parport_splink.c linux-2.4.30-brcm/drivers/parport/parport_splink.c
+diff -urN linux-2.4.30/drivers/parport/parport_splink.c linux-2.4.30.dev/drivers/parport/parport_splink.c
 --- linux-2.4.30/drivers/parport/parport_splink.c      1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.30-brcm/drivers/parport/parport_splink.c 2005-05-22 22:55:52.000000000 +0200
++++ linux-2.4.30.dev/drivers/parport/parport_splink.c  2005-08-22 01:34:46.573113464 +0200
 @@ -0,0 +1,345 @@
 +/* Low-level parallel port routines for the ASUS WL-500g built-in port
 + *
@@ -20012,9 +19821,32 @@ diff -Nur linux-2.4.30/drivers/parport/parport_splink.c linux-2.4.30-brcm/driver
 +module_init(parport_splink_init)
 +module_exit(parport_splink_cleanup)
 +
-diff -Nur linux-2.4.30/drivers/pcmcia/bcm4710_generic.c linux-2.4.30-brcm/drivers/pcmcia/bcm4710_generic.c
+diff -urN linux-2.4.30/drivers/pcmcia/Makefile linux-2.4.30.dev/drivers/pcmcia/Makefile
+--- linux-2.4.30/drivers/pcmcia/Makefile       2005-08-22 01:29:09.704325304 +0200
++++ linux-2.4.30.dev/drivers/pcmcia/Makefile   2005-08-22 01:34:46.577112856 +0200
+@@ -74,6 +74,10 @@
+ au1000_ss-objs-$(CONFIG_MIPS_HYDROGEN3)               += au1000_hydrogen3.o
+ au1000_ss-objs-$(CONFIG_MIPS_XXS1500)                 += au1000_xxs1500.o
++obj-$(CONFIG_PCMCIA_BCM4710)  += bcm4710_ss.o
++bcm4710_ss-objs                                       := bcm4710_generic.o
++bcm4710_ss-objs                                       += bcm4710_pcmcia.o
++
+ obj-$(CONFIG_PCMCIA_SA1100)   += sa1100_cs.o
+ obj-$(CONFIG_PCMCIA_M8XX)     += m8xx_pcmcia.o
+ obj-$(CONFIG_PCMCIA_SIBYTE)   += sibyte_generic.o
+@@ -112,5 +116,8 @@
+ au1x00_ss.o: $(au1000_ss-objs-y)
+       $(LD) -r -o $@ $(au1000_ss-objs-y)
++bcm4710_ss.o: $(bcm4710_ss-objs)
++      $(LD) -r -o $@ $(bcm4710_ss-objs)
++
+ yenta_socket.o: $(yenta_socket-objs)
+       $(LD) $(LD_RFLAG) -r -o $@ $(yenta_socket-objs)
+diff -urN linux-2.4.30/drivers/pcmcia/bcm4710_generic.c linux-2.4.30.dev/drivers/pcmcia/bcm4710_generic.c
 --- linux-2.4.30/drivers/pcmcia/bcm4710_generic.c      1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.30-brcm/drivers/pcmcia/bcm4710_generic.c 2005-05-22 22:55:52.000000000 +0200
++++ linux-2.4.30.dev/drivers/pcmcia/bcm4710_generic.c  2005-08-22 01:34:46.574113312 +0200
 @@ -0,0 +1,912 @@
 +/*
 + *
@@ -20928,9 +20760,9 @@ diff -Nur linux-2.4.30/drivers/pcmcia/bcm4710_generic.c linux-2.4.30-brcm/driver
 +
 +
 +#endif  /* defined(CONFIG_PROC_FS) */
-diff -Nur linux-2.4.30/drivers/pcmcia/bcm4710_pcmcia.c linux-2.4.30-brcm/drivers/pcmcia/bcm4710_pcmcia.c
+diff -urN linux-2.4.30/drivers/pcmcia/bcm4710_pcmcia.c linux-2.4.30.dev/drivers/pcmcia/bcm4710_pcmcia.c
 --- linux-2.4.30/drivers/pcmcia/bcm4710_pcmcia.c       1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.30-brcm/drivers/pcmcia/bcm4710_pcmcia.c  2005-05-22 22:55:52.000000000 +0200
++++ linux-2.4.30.dev/drivers/pcmcia/bcm4710_pcmcia.c   2005-08-22 01:34:46.575113160 +0200
 @@ -0,0 +1,266 @@
 +/*
 + * BCM4710 specific pcmcia routines.
@@ -21198,9 +21030,9 @@ diff -Nur linux-2.4.30/drivers/pcmcia/bcm4710_pcmcia.c linux-2.4.30-brcm/drivers
 +      bcm4710_pcmcia_configure_socket
 +};
 +
-diff -Nur linux-2.4.30/drivers/pcmcia/bcm4710pcmcia.h linux-2.4.30-brcm/drivers/pcmcia/bcm4710pcmcia.h
+diff -urN linux-2.4.30/drivers/pcmcia/bcm4710pcmcia.h linux-2.4.30.dev/drivers/pcmcia/bcm4710pcmcia.h
 --- linux-2.4.30/drivers/pcmcia/bcm4710pcmcia.h        1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.30-brcm/drivers/pcmcia/bcm4710pcmcia.h   2005-05-22 22:55:52.000000000 +0200
++++ linux-2.4.30.dev/drivers/pcmcia/bcm4710pcmcia.h    2005-08-22 01:34:46.576113008 +0200
 @@ -0,0 +1,118 @@
 +/*
 + *
@@ -21320,32 +21152,9 @@ diff -Nur linux-2.4.30/drivers/pcmcia/bcm4710pcmcia.h linux-2.4.30-brcm/drivers/
 +extern struct pcmcia_low_level bcm4710_pcmcia_ops;
 +
 +#endif  /* !defined(_BCM4710PCMCIA_H) */
-diff -Nur linux-2.4.30/drivers/pcmcia/Makefile linux-2.4.30-brcm/drivers/pcmcia/Makefile
---- linux-2.4.30/drivers/pcmcia/Makefile       2004-02-18 14:36:31.000000000 +0100
-+++ linux-2.4.30-brcm/drivers/pcmcia/Makefile  2005-05-22 22:55:52.000000000 +0200
-@@ -65,6 +65,10 @@
- au1000_ss-objs-$(CONFIG_PCMCIA_DB1X00)                += au1000_db1x00.o
- au1000_ss-objs-$(CONFIG_PCMCIA_XXS1500)       += au1000_xxs1500.o
-+obj-$(CONFIG_PCMCIA_BCM4710)  += bcm4710_ss.o
-+bcm4710_ss-objs                                       := bcm4710_generic.o
-+bcm4710_ss-objs                                       += bcm4710_pcmcia.o
-+
- obj-$(CONFIG_PCMCIA_SA1100)   += sa1100_cs.o
- obj-$(CONFIG_PCMCIA_M8XX)     += m8xx_pcmcia.o
- obj-$(CONFIG_PCMCIA_SIBYTE)   += sibyte_generic.o
-@@ -102,5 +106,8 @@
- au1x00_ss.o: $(au1000_ss-objs-y)
-       $(LD) -r -o $@ $(au1000_ss-objs-y)
-+bcm4710_ss.o: $(bcm4710_ss-objs)
-+      $(LD) -r -o $@ $(bcm4710_ss-objs)
-+
- yenta_socket.o: $(yenta_socket-objs)
-       $(LD) $(LD_RFLAG) -r -o $@ $(yenta_socket-objs)
-diff -Nur linux-2.4.30/include/asm-mips/bootinfo.h linux-2.4.30-brcm/include/asm-mips/bootinfo.h
---- linux-2.4.30/include/asm-mips/bootinfo.h   2004-02-18 14:36:32.000000000 +0100
-+++ linux-2.4.30-brcm/include/asm-mips/bootinfo.h      2005-05-22 22:55:53.000000000 +0200
+diff -urN linux-2.4.30/include/asm-mips/bootinfo.h linux-2.4.30.dev/include/asm-mips/bootinfo.h
+--- linux-2.4.30/include/asm-mips/bootinfo.h   2005-08-22 01:29:10.024276664 +0200
++++ linux-2.4.30.dev/include/asm-mips/bootinfo.h       2005-08-22 01:34:46.612107536 +0200
 @@ -37,6 +37,7 @@
  #define MACH_GROUP_HP_LJ       20 /* Hewlett Packard LaserJet               */
  #define MACH_GROUP_LASAT       21
@@ -21354,7 +21163,7 @@ diff -Nur linux-2.4.30/include/asm-mips/bootinfo.h linux-2.4.30-brcm/include/asm
  
  /*
   * Valid machtype values for group unknown (low order halfword of mips_machtype)
-@@ -194,6 +195,15 @@
+@@ -197,6 +198,15 @@
  #define MACH_TANBAC_TB0229    7       /* TANBAC TB0229 (VR4131DIMM) */
  
  /*
@@ -21370,9 +21179,9 @@ diff -Nur linux-2.4.30/include/asm-mips/bootinfo.h linux-2.4.30-brcm/include/asm
   * Valid machtype for group TITAN
   */
  #define       MACH_TITAN_YOSEMITE     1       /* PMC-Sierra Yosemite */
-diff -Nur linux-2.4.30/include/asm-mips/cpu.h linux-2.4.30-brcm/include/asm-mips/cpu.h
+diff -urN linux-2.4.30/include/asm-mips/cpu.h linux-2.4.30.dev/include/asm-mips/cpu.h
 --- linux-2.4.30/include/asm-mips/cpu.h        2005-01-19 15:10:11.000000000 +0100
-+++ linux-2.4.30-brcm/include/asm-mips/cpu.h   2005-05-22 22:55:53.000000000 +0200
++++ linux-2.4.30.dev/include/asm-mips/cpu.h    2005-08-22 01:34:46.629104952 +0200
 @@ -22,6 +22,11 @@
     spec.
  */
@@ -21421,9 +21230,9 @@ diff -Nur linux-2.4.30/include/asm-mips/cpu.h linux-2.4.30-brcm/include/asm-mips
  
  /*
   * ISA Level encodings
-diff -Nur linux-2.4.30/include/asm-mips/r4kcache.h linux-2.4.30-brcm/include/asm-mips/r4kcache.h
+diff -urN linux-2.4.30/include/asm-mips/r4kcache.h linux-2.4.30.dev/include/asm-mips/r4kcache.h
 --- linux-2.4.30/include/asm-mips/r4kcache.h   2004-02-18 14:36:32.000000000 +0100
-+++ linux-2.4.30-brcm/include/asm-mips/r4kcache.h      2005-05-25 18:01:08.000000000 +0200
++++ linux-2.4.30.dev/include/asm-mips/r4kcache.h       2005-08-22 01:34:46.637103736 +0200
 @@ -567,4 +567,17 @@
                        cache128_unroll32(addr|ws,Index_Writeback_Inv_SD);
  }
@@ -21442,9 +21251,9 @@ diff -Nur linux-2.4.30/include/asm-mips/r4kcache.h linux-2.4.30-brcm/include/asm
 +}      
 +
  #endif /* __ASM_R4KCACHE_H */
-diff -Nur linux-2.4.30/include/asm-mips/serial.h linux-2.4.30-brcm/include/asm-mips/serial.h
+diff -urN linux-2.4.30/include/asm-mips/serial.h linux-2.4.30.dev/include/asm-mips/serial.h
 --- linux-2.4.30/include/asm-mips/serial.h     2005-01-19 15:10:12.000000000 +0100
-+++ linux-2.4.30-brcm/include/asm-mips/serial.h        2005-05-22 22:55:53.000000000 +0200
++++ linux-2.4.30.dev/include/asm-mips/serial.h 2005-08-22 01:34:46.645102520 +0200
 @@ -223,6 +223,13 @@
  #define TXX927_SERIAL_PORT_DEFNS
  #endif
@@ -21467,10 +21276,10 @@ diff -Nur linux-2.4.30/include/asm-mips/serial.h linux-2.4.30-brcm/include/asm-m
        COBALT_SERIAL_PORT_DEFNS                \
        DDB5477_SERIAL_PORT_DEFNS               \
        EV96100_SERIAL_PORT_DEFNS               \
-diff -Nur linux-2.4.30/init/do_mounts.c linux-2.4.30-brcm/init/do_mounts.c
---- linux-2.4.30/init/do_mounts.c      2003-11-28 19:26:21.000000000 +0100
-+++ linux-2.4.30-brcm/init/do_mounts.c 2005-05-22 22:55:53.000000000 +0200
-@@ -253,7 +253,13 @@
+diff -urN linux-2.4.30/init/do_mounts.c linux-2.4.30.dev/init/do_mounts.c
+--- linux-2.4.30/init/do_mounts.c      2005-08-22 01:29:10.628184856 +0200
++++ linux-2.4.30.dev/init/do_mounts.c  2005-08-22 01:34:46.668099024 +0200
+@@ -254,7 +254,13 @@
        { "ftlb", 0x2c08 },
        { "ftlc", 0x2c10 },
        { "ftld", 0x2c18 },
@@ -21484,67 +21293,3 @@ diff -Nur linux-2.4.30/init/do_mounts.c linux-2.4.30-brcm/init/do_mounts.c
        { "nb", 0x2b00 },
        { NULL, 0 }
  };
-diff -Nur linux-2.4.30/Makefile linux-2.4.30-brcm/Makefile
---- linux-2.4.30/Makefile      2005-04-04 03:42:20.000000000 +0200
-+++ linux-2.4.30-brcm/Makefile 2005-05-22 22:55:53.000000000 +0200
-@@ -17,9 +17,9 @@
- FINDHPATH     = $(HPATH)/asm $(HPATH)/linux $(HPATH)/scsi $(HPATH)/net $(HPATH)/math-emu
- HOSTCC        = gcc
--HOSTCFLAGS    = -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer
-+HOSTCFLAGS    = -Wall -Wstrict-prototypes -Os -fomit-frame-pointer
--CROSS_COMPILE         =
-+CROSS_COMPILE=
- #
- # Include the make variables (CC, etc...)
-@@ -91,8 +91,10 @@
- CPPFLAGS := -D__KERNEL__ -I$(HPATH)
--CFLAGS := $(CPPFLAGS) -Wall -Wstrict-prototypes -Wno-trigraphs -O2 \
-+CFLAGS := $(CPPFLAGS) -Wall -Wstrict-prototypes -Wno-trigraphs -Os \
-         -fno-strict-aliasing -fno-common
-+
-+
- ifndef CONFIG_FRAME_POINTER
- CFLAGS += -fomit-frame-pointer
- endif
-@@ -354,7 +356,7 @@
-       @rm -f .ver1
- include/linux/version.h: ./Makefile
--      @expr length "$(KERNELRELEASE)" \<= $(uts_len) > /dev/null || \
-+      @-expr length "$(KERNELRELEASE)" \<= $(uts_len) > /dev/null || \
-         (echo KERNELRELEASE \"$(KERNELRELEASE)\" exceeds $(uts_len) characters >&2; false)
-       @echo \#define UTS_RELEASE \"$(KERNELRELEASE)\" > .ver
-       @echo \#define LINUX_VERSION_CODE `expr $(VERSION) \\* 65536 + $(PATCHLEVEL) \\* 256 + $(SUBLEVEL)` >> .ver
-@@ -500,7 +502,7 @@
- ifdef CONFIG_MODVERSIONS
-       $(MAKE) update-modverfile
- endif
--      scripts/mkdep -- `find $(FINDHPATH) \( -name SCCS -o -name .svn \) -prune -o -follow -name \*.h ! -name modversions.h -print` > .hdepend
-+      (find $(FINDHPATH) \( -name SCCS -o -name .svn \) -prune -o -follow -name \*.h ! -name modversions.h -print | xargs -r scripts/mkdep -- ) > .hdepend
-       scripts/mkdep -- init/*.c > .depend
- ifdef CONFIG_MODVERSIONS
-diff -Nur linux-2.4.30/Rules.make linux-2.4.30-brcm/Rules.make
---- linux-2.4.30/Rules.make    2004-02-18 14:36:30.000000000 +0100
-+++ linux-2.4.30-brcm/Rules.make       2005-05-26 17:11:14.000000000 +0200
-@@ -176,7 +176,14 @@
- _modinst__: dummy
- ifneq "$(strip $(ALL_MOBJS))" ""
-       mkdir -p $(MODLIB)/kernel/$(MOD_DESTDIR)
--      cp $(sort $(ALL_MOBJS)) $(MODLIB)/kernel/$(MOD_DESTDIR)
-+      #@cp $(sort $(ALL_MOBJS)) $(MODLIB)/kernel/$(MOD_DESTDIR)
-+      for f in $(ALL_MOBJS) ; do \
-+              $(OBJCOPY) -R __ksymtab -R .comment -R .note -x \
-+              `$(NM) $$f | cut -f3- -d' ' | sed -n \
-+                      -e 's/__module_parm_\(.*\)/-K \1/p' \
-+                      -e 's/__ks..tab_\(.*\)/-K \1/p'` \
-+              $$f $(MODLIB)/kernel/$(MOD_DESTDIR)$(MOD_TARGET)$$f; \
-+      done
- endif
- .PHONY: modules_install
diff --git a/openwrt/target/linux/linux-2.4/patches/brcm/005-diag_led.patch b/openwrt/target/linux/linux-2.4/patches/brcm/005-diag_led.patch
new file mode 100644 (file)
index 0000000..e827906
--- /dev/null
@@ -0,0 +1,278 @@
+diff -urN linux-2.4.30.dev/drivers/net/Makefile linux-2.4.30.dev2/drivers/net/Makefile
+--- linux-2.4.30.dev/drivers/net/Makefile      2005-08-22 01:41:45.930653216 +0200
++++ linux-2.4.30.dev2/drivers/net/Makefile     2005-08-22 01:58:04.162939304 +0200
+@@ -41,6 +41,8 @@
+   obj-$(CONFIG_ISDN) += slhc.o
+ endif
++subdir-m += diag
++
+ subdir-$(CONFIG_HND) += hnd
+ subdir-$(CONFIG_ET) += et
+ subdir-$(CONFIG_WL) += wl
+diff -urN linux-2.4.30.dev/drivers/net/diag/Makefile linux-2.4.30.dev2/drivers/net/diag/Makefile
+--- linux-2.4.30.dev/drivers/net/diag/Makefile 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.4.30.dev2/drivers/net/diag/Makefile        2005-08-22 00:12:23.655170000 +0200
+@@ -0,0 +1,13 @@
++#$Id$
++
++EXTRA_CFLAGS := -I$(TOPDIR)/arch/mips/bcm947xx/include -DBCMDRIVER
++
++O_TARGET       := diag.o
++
++MAC_OBJS       := diag_led.o
++
++export-objs    := 
++obj-y          := $(MAC_OBJS)
++obj-m          := $(O_TARGET)
++
++include $(TOPDIR)/Rules.make
+diff -urN linux-2.4.30.dev/drivers/net/diag/diag_led.c linux-2.4.30.dev2/drivers/net/diag/diag_led.c
+--- linux-2.4.30.dev/drivers/net/diag/diag_led.c       1970-01-01 01:00:00.000000000 +0100
++++ linux-2.4.30.dev2/drivers/net/diag/diag_led.c      2005-08-22 03:37:58.112053448 +0200
+@@ -0,0 +1,245 @@
++/*
++ * diag_led.c - replacement diag module
++ *
++ * Copyright (C) 2004 Mike Baker,
++ *                    Imre Kaloz <kaloz@dune.hu>
++ *
++ * This program is free software; you can redistribute it and/or
++ * modify it under the terms of the GNU General Public License
++ * as published by the Free Software Foundation; either version 2
++ * of the License, or (at your option) any later version.
++ *
++ * This program is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++ * GNU General Public License for more details.
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with this program; if not, write to the Free Software
++ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
++ *
++ * $Id$
++ */
++
++/*
++ * ChangeLog:
++ * 2004/03/28 initial release 
++ * 2004/08/26 asus & buffalo support added
++ * 2005/03/14 asus wl-500g deluxe and buffalo v2 support added
++ * 2005/04/13 added licensing informations
++ * 2005/04/18 base reset polarity off initial readings
++ */
++
++#include <linux/module.h>
++#include <linux/init.h>
++#include <linux/kernel.h>
++#include <linux/sysctl.h>
++#include <asm/io.h>
++#include <typedefs.h>
++#include <bcmdevs.h>
++#include <sbutils.h>
++
++extern char * nvram_get(const char *name);
++static void *sbh;
++
++// v2.x - - - - -
++#define DIAG_GPIO (1<<1)
++#define DMZ_GPIO  (1<<7)
++
++static void set_gpio(uint32 mask, uint32 value) {
++      sb_gpiocontrol(sbh,mask,0);
++      sb_gpioouten(sbh,mask,mask);
++      sb_gpioout(sbh,mask,value);
++}
++
++static void v2_set_diag(u8 state) {
++      set_gpio(DIAG_GPIO,state);
++}
++static void v2_set_dmz(u8 state) {
++      set_gpio(DMZ_GPIO,state);
++}
++
++// v1.x - - - - -
++#define LED_DIAG   0x13
++#define LED_DMZ    0x12
++
++static void v1_set_diag(u8 state) {
++      if (!state) {
++              *(volatile u8*)(KSEG1ADDR(BCM4710_EUART)+LED_DIAG)=0xFF;
++      } else {
++              *(volatile u8*)(KSEG1ADDR(BCM4710_EUART)+LED_DIAG);
++      }
++}
++static void v1_set_dmz(u8 state) {
++      if (!state) {
++              *(volatile u8*)(KSEG1ADDR(BCM4710_EUART)+LED_DMZ)=0xFF;
++      } else {
++              *(volatile u8*)(KSEG1ADDR(BCM4710_EUART)+LED_DMZ);
++      }
++}
++
++// - - - - -
++static void ignore(u8 ignored) {};
++
++// - - - - -
++#define BIT_DMZ         0x01
++#define BIT_DIAG        0x04
++
++void (*set_diag)(u8 state);
++void (*set_dmz)(u8 state);
++
++static unsigned int diag = 0;
++
++static void diag_change()
++{
++      set_diag(0xFF); // off
++      set_dmz(0xFF); // off
++
++      if(diag & BIT_DIAG)
++              set_diag(0x00); // on
++      if(diag & BIT_DMZ)
++              set_dmz(0x00); // on
++}
++
++static int proc_diag(ctl_table *table, int write, struct file *filp,
++              void *buffer, size_t *lenp)
++{
++      int r;
++      r = proc_dointvec(table, write, filp, buffer, lenp);
++      if (write && !r) {
++              diag_change();
++      }
++      return r;
++}
++
++// - - - - -
++static unsigned char reset_gpio = 0;
++static unsigned char reset_polarity = 0;
++static unsigned int reset = 0;
++
++static int proc_reset(ctl_table *table, int write, struct file *filp,
++              void *buffer, size_t *lenp)
++{
++
++      if (reset_gpio) {
++              sb_gpiocontrol(sbh,reset_gpio,reset_gpio);
++              sb_gpioouten(sbh,reset_gpio,0);
++              reset=!(sb_gpioin(sbh)&reset_gpio);
++
++              if (reset_polarity) reset=!reset;
++      } else {
++              reset=0;
++      }
++
++      return proc_dointvec(table, write, filp, buffer, lenp);
++}
++
++// - - - - -
++static struct ctl_table_header *diag_sysctl_header;
++
++static ctl_table sys_diag[] = {
++         { 
++         ctl_name: 2000,
++         procname: "diag", 
++         data: &diag,
++         maxlen: sizeof(diag), 
++         mode: 0644,
++         proc_handler: proc_diag
++       },
++       {
++         ctl_name: 2001,
++         procname: "reset",
++         data: &reset,
++         maxlen: sizeof(reset),
++         mode: 0444,
++         proc_handler: proc_reset 
++       },
++         { 0 }
++};
++
++static int __init diag_init()
++{
++      char *buf;
++      u32 board_type;
++      sbh = sb_kattach();
++      sb_gpiosetcore(sbh);
++
++      board_type = sb_boardtype(sbh);
++      printk(KERN_INFO "diag boardtype: %08x\n",board_type);
++
++      set_diag=ignore;
++      set_dmz=ignore;
++      
++      buf=nvram_get("boardrev");
++      if (((board_type & 0xf00) == 0x400) && strcmp(buf,"0x10")) {
++              buf=nvram_get("boardtype")?:"";
++              if (!strcmp(buf,"bcm94710dev")) {
++                      buf=nvram_get("boardnum")?:"";
++                      if (!strcmp(buf,"42")) {
++                              // wrt54g v1.x
++                              set_diag=v1_set_diag;
++                              set_dmz=v1_set_dmz;
++                              reset_gpio=(1<<6);
++                      }
++                      if (!strcmp(buf,"asusX")) {
++                              //asus wl-500g
++                              reset_gpio=(1<<6);
++                      }
++              }
++              if (!strcmp(buf,"bcm94710ap")) {
++                      buf=nvram_get("boardnum")?:"";
++                      if (!strcmp(buf,"42")) {
++                              // buffalo
++                              set_dmz=v2_set_dmz;
++                              reset_gpio=(1<<4);
++                      }
++                      if (!strcmp(buf,"44")) {
++                              //dell truemobile
++                              set_dmz=v2_set_dmz;
++                              reset_gpio=(1<<0);
++                      }
++              }
++      } else {
++              buf=nvram_get("boardnum")?:"";
++              if (!strcmp(buf,"42")) {
++                      //linksys
++                      set_diag=v2_set_diag;
++                      set_dmz=v2_set_dmz;
++                      reset_gpio=(1<<6);
++              }
++              if (!strcmp(buf,"44")) {
++                      //motorola
++                      reset_gpio=(1<<5);
++              }
++              if (!strcmp(buf,"00")) {
++                      //buffalo
++                      reset_gpio=(1<<7);
++              }
++              if (!strcmp(buf,"45")) {
++                      //wl-500g deluxe
++                      reset_gpio=(1<<6);
++              }
++      }
++
++      
++      sb_gpiocontrol(sbh,reset_gpio,reset_gpio);
++      sb_gpioouten(sbh,reset_gpio,0);
++      reset_polarity=!(sb_gpioin(sbh)&reset_gpio);
++
++      diag_sysctl_header = register_sysctl_table(sys_diag, 0);
++      diag_change();
++
++      return 0;
++}
++
++static void __exit diag_exit()
++{
++      unregister_sysctl_table(diag_sysctl_header);
++}
++
++EXPORT_NO_SYMBOLS;
++MODULE_AUTHOR("openwrt.org");
++MODULE_LICENSE("GPL");
++
++module_init(diag_init);
++module_exit(diag_exit);