fix up remaining parts for the brcm47xx-2.6 port (tested on wgt634u), nuke the old...
[openwrt.git] / target / linux / brcm63xx-2.6 / patches / 001-bcm963xx.patch
index c079c5a..2a33b69 100644 (file)
@@ -1,6 +1,221 @@
-diff -urN linux.old/arch/mips/bcm963xx/bcm63xx_led.c linux.dev/arch/mips/bcm963xx/bcm63xx_led.c
---- linux.old/arch/mips/bcm963xx/bcm63xx_led.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/arch/mips/bcm963xx/bcm63xx_led.c 2006-08-25 00:39:38.000000000 +0200
+diff -urN linux-2.6.19/arch/mips/Kconfig linux-2.6.19.new/arch/mips/Kconfig
+--- linux-2.6.19/arch/mips/Kconfig     2006-11-29 22:57:37.000000000 +0100
++++ linux-2.6.19.new/arch/mips/Kconfig 2006-12-16 18:46:31.000000000 +0100
+@@ -12,6 +12,15 @@
+       prompt "System type"
+       default SGI_IP22
++config BCM963XX 
++      bool "Support for the Broadcom boards"
++      select SYS_SUPPORTS_32BIT_KERNEL
++      select SYS_SUPPORTS_BIG_ENDIAN
++      select SYS_HAS_CPU_MIPS32_R1
++      select IRQ_CPU
++      help
++       This is a fmaily of boards based on the Broadcom MIPS32
++
+ config MIPS_MTX1
+       bool "4G Systems MTX-1 board"
+       select DMA_NONCOHERENT
+@@ -766,6 +775,7 @@
+ endchoice
++source "arch/mips/bcm963xx/Kconfig"
+ source "arch/mips/ddb5xxx/Kconfig"
+ source "arch/mips/gt64120/ev64120/Kconfig"
+ source "arch/mips/jazz/Kconfig"
+diff -urN linux-2.6.19/arch/mips/Makefile linux-2.6.19.new/arch/mips/Makefile
+--- linux-2.6.19/arch/mips/Makefile    2006-12-16 17:36:29.000000000 +0100
++++ linux-2.6.19.new/arch/mips/Makefile        2006-12-16 18:46:31.000000000 +0100
+@@ -158,6 +158,15 @@
+ #
+ #
++# Broadcom board
++#
++core-$(CONFIG_BCM963XX)       += arch/mips/bcm963xx/
++cflags-$(CONFIG_BCM963XX)             += -Iinclude/asm-mips/mach-bcm963xx
++cflags-$(CONFIG_BCM963XX)             += -Iarch/mips/bcm963xx/include
++load-$(CONFIG_BCM963XX)       += 0xffffffff80010000
++
++
++#
+ # Acer PICA 61, Mips Magnum 4000 and Olivetti M700.
+ #
+ core-$(CONFIG_MACH_JAZZ)      += arch/mips/jazz/
+diff -urN linux-2.6.19/arch/mips/bcm963xx/Kconfig linux-2.6.19.new/arch/mips/bcm963xx/Kconfig
+--- linux-2.6.19/arch/mips/bcm963xx/Kconfig    1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.19.new/arch/mips/bcm963xx/Kconfig        2006-12-16 18:46:31.000000000 +0100
+@@ -0,0 +1,138 @@
++# Kernel and Driver configuration for Broadcom Commengine ADSL board
++choice
++      prompt "Broadcom Commengine ADSL board"
++      depends on BCM963XX
++      default BCM96348
++      help
++        Select different Broadcom ADSL board
++
++config BCM96338
++      bool "96338 ADSL board"
++      select DMA_NONCOHERENT
++      select HW_HAS_PCI
++
++config BCM96345
++      bool "96345 ADSL board"
++      select DMA_NONCOHERENT
++      select HW_HAS_PCI
++
++config BCM96348
++      bool "96348 ADSL board"
++      select DMA_NONCOHERENT
++      select HW_HAS_PCI
++
++endchoice
++
++config BCM_BOARD
++      bool "Support for Broadcom Board"
++      depends on BCM96338 || BCM96345 || BCM96348
++
++config BCM_SERIAL
++      bool "Support for Serial Port"
++      depends on BCM96338 || BCM96345 || BCM96348
++
++config BCM_ENET
++      tristate "Support for Ethernet"
++      depends on BCM96338 || BCM96345 || BCM96348
++
++config BCM_USB
++      tristate "Support for USB"
++      depends on BCM96338 || BCM96345 || BCM96348
++
++config BCM_WLAN
++      tristate "Support for Wireless"
++      depends on BCM96338 || BCM96345 || BCM96348
++
++config BCM_PCI
++      bool "Support for PCI"
++      depends on BCM96338 || BCM96345 || BCM96348
++      select PCI
++
++config BCM_ATMAPI
++      tristate "Support for ATM"
++      depends on BCM96338 || BCM96345 || BCM96348
++
++config BCM_ATMTEST
++      tristate "Support for ATM Diagnostic"
++      depends on BCM96338 || BCM96345 || BCM96348
++
++config BCM_ADSL
++      tristate "Support for ADSL"
++      depends on BCM96338 || BCM96345 || BCM96348
++
++config BCM_ENDPOINT
++      tristate "Support for VOICE"
++      depends on BCM96338 || BCM96345 || BCM96348
++
++config BCM_PROCFS
++      tristate "Support for PROCFS"
++      depends on BCM96338 || BCM96345 || BCM96348
++
++config BCM_VDSL
++      tristate "Support for VDSL"
++      depends on BCM96338 || BCM96345 || BCM96348
++
++config BCM_SECURITY
++      tristate "Support for SECURITY"
++      depends on BCM96338 || BCM96345 || BCM96348
++
++config BCM_HPNA
++      tristate "Support for HPNA"
++      depends on BCM96338 || BCM96345 || BCM96348
++
++config BCM_BOARD_IMPL
++      int "Implementation index for ADSL Board"
++      depends on BCM96338 || BCM96345 || BCM96348
++
++config BCM_SERIAL_IMPL
++      int "Implementation index for Serial"
++      depends on BCM96338 || BCM96345 || BCM96348
++
++config BCM_ENET_IMPL
++      int "Implementation index for Ethernet"
++      depends on BCM96338 || BCM96345 || BCM96348
++
++config BCM_USB_IMPL
++      int "Implementation index for USB"
++      depends on BCM96338 || BCM96345 || BCM96348
++
++config BCM_WLAN_IMPL
++      int "Implementation index for WIRELESS"
++      depends on BCM96338 || BCM96345 || BCM96348
++
++config BCM_ATMAPI_IMPL
++      int "Implementation index for ATM"
++      depends on BCM96338 || BCM96345 || BCM96348
++
++config BCM_ATMTEST_IMPL
++      int "Implementation index for ATM Diagnostic"
++      depends on BCM96338 || BCM96345 || BCM96348
++
++config BCM_BLAA_IMPL
++      int "Implementation index for BLAA"
++      depends on BCM96338 || BCM96345 || BCM96348
++
++config BCM_ADSL_IMPL
++      int "Implementation index for ADSL"
++      depends on BCM96338 || BCM96345 || BCM96348
++
++config BCM_ENDPOINT_IMPL
++      int "Implementation index for VOICE"
++      depends on BCM96338 || BCM96345 || BCM96348
++
++config BCM_PROCFS_IMPL
++      int "Implementation index for PROCFS"
++      depends on BCM96338 || BCM96345 || BCM96348
++
++config BCM_VDSL_IMPL
++      int "Implementation index for VDSL"
++      depends on BCM96338 || BCM96345 || BCM96348
++
++config BCM_SECURITY_IMPL
++      int "Implementation index for SECURITY"
++      depends on BCM96338 || BCM96345 || BCM96348
++
++config BCM_HPNA_IMPL
++      int "Implementation index for HPNA"
++      depends on BCM96338 || BCM96345 || BCM96348
++
+diff -urN linux-2.6.19/arch/mips/bcm963xx/Makefile linux-2.6.19.new/arch/mips/bcm963xx/Makefile
+--- linux-2.6.19/arch/mips/bcm963xx/Makefile   1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.19.new/arch/mips/bcm963xx/Makefile       2006-12-16 18:46:31.000000000 +0100
+@@ -0,0 +1,23 @@
++#
++# Makefile for generic Broadcom MIPS boards
++#
++# Copyright (C) 2004 Broadcom Corporation
++#
++obj-y           := irq.o prom.o setup.o time.o ser_init.o bcm63xx_led.o  board.o  boardparms.o int-handler.o
++
++SRCBASE         := $(TOPDIR)
++EXTRA_CFLAGS    += -I$(SRCBASE)/include
++#EXTRA_CFLAGS    += -I$(INC_ADSLDRV_PATH) -DDBG
++EXTRA_CFLAGS    += -I$(INC_ADSLDRV_PATH) 
++
++
++ifeq "$(ADSL)" "ANNEX_B"
++EXTRA_CFLAGS += -DADSL_ANNEXB
++endif
++ifeq "$(ADSL)" "SADSL"
++EXTRA_CFLAGS += -DADSL_SADSL
++endif
++ifeq "$(ADSL)" "ANNEX_C"
++EXTRA_CFLAGS += -DADSL_ANNEXC
++endif
++
+diff -urN linux-2.6.19/arch/mips/bcm963xx/bcm63xx_led.c linux-2.6.19.new/arch/mips/bcm963xx/bcm63xx_led.c
+--- linux-2.6.19/arch/mips/bcm963xx/bcm63xx_led.c      1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.19.new/arch/mips/bcm963xx/bcm63xx_led.c  2006-12-16 18:46:31.000000000 +0100
 @@ -0,0 +1,582 @@
 +/*
 +<:copyright-gpl 
@@ -584,9 +799,9 @@ diff -urN linux.old/arch/mips/bcm963xx/bcm63xx_led.c linux.dev/arch/mips/bcm963x
 +    }
 +}
 +
-diff -urN linux.old/arch/mips/bcm963xx/board.c linux.dev/arch/mips/bcm963xx/board.c
---- linux.old/arch/mips/bcm963xx/board.c       1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/arch/mips/bcm963xx/board.c       2006-08-27 21:02:04.000000000 +0200
+diff -urN linux-2.6.19/arch/mips/bcm963xx/board.c linux-2.6.19.new/arch/mips/bcm963xx/board.c
+--- linux-2.6.19/arch/mips/bcm963xx/board.c    1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.19.new/arch/mips/bcm963xx/board.c        2006-12-16 18:46:31.000000000 +0100
 @@ -0,0 +1,559 @@
 +/*
 +<:copyright-gpl 
@@ -710,7 +925,7 @@ diff -urN linux.old/arch/mips/bcm963xx/board.c linux.dev/arch/mips/bcm963xx/boar
 +
 +/* DyingGasp function prototype */
 +static void __init kerSysDyingGaspMapIntr(void);
-+static irqreturn_t kerSysDyingGaspIsr(int irq, void * dev_id, struct pt_regs * regs);
++static irqreturn_t kerSysDyingGaspIsr(int irq, void * dev_id);
 +static void __init kerSysInitDyingGaspHandler( void );
 +static void __exit kerSysDeinitDyingGaspHandler( void );
 +/* -DyingGasp function prototype - */
@@ -982,7 +1197,7 @@ diff -urN linux.old/arch/mips/bcm963xx/board.c linux.dev/arch/mips/bcm963xx/boar
 +}
 +
 +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0))
-+static irqreturn_t kerSysDyingGaspIsr(int irq, void * dev_id, struct pt_regs * regs)
++static irqreturn_t kerSysDyingGaspIsr(int irq, void * dev_id)
 +#else
 +static unsigned int kerSysDyingGaspIsr(void)
 +#endif
@@ -1147,9 +1362,9 @@ diff -urN linux.old/arch/mips/bcm963xx/board.c linux.dev/arch/mips/bcm963xx/boar
 +EXPORT_SYMBOL(kerSysSetWdTimer);
 +EXPORT_SYMBOL(kerSysWakeupMonitorTask);
 +
-diff -urN linux.old/arch/mips/bcm963xx/boardparms.c linux.dev/arch/mips/bcm963xx/boardparms.c
---- linux.old/arch/mips/bcm963xx/boardparms.c  1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/arch/mips/bcm963xx/boardparms.c  2006-08-25 00:39:38.000000000 +0200
+diff -urN linux-2.6.19/arch/mips/bcm963xx/boardparms.c linux-2.6.19.new/arch/mips/bcm963xx/boardparms.c
+--- linux-2.6.19/arch/mips/bcm963xx/boardparms.c       1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.19.new/arch/mips/bcm963xx/boardparms.c   2006-12-16 18:46:31.000000000 +0100
 @@ -0,0 +1,2391 @@
 +/*
 +<:copyright-gpl 
@@ -3542,9 +3757,9 @@ diff -urN linux.old/arch/mips/bcm963xx/boardparms.c linux.dev/arch/mips/bcm963xx
 +    return( nRet );
 +} /* BpGetVoipChipSelect */
 +
-diff -urN linux.old/arch/mips/bcm963xx/boardparms.h linux.dev/arch/mips/bcm963xx/boardparms.h
---- linux.old/arch/mips/bcm963xx/boardparms.h  1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/arch/mips/bcm963xx/boardparms.h  2006-08-25 00:39:38.000000000 +0200
+diff -urN linux-2.6.19/arch/mips/bcm963xx/boardparms.h linux-2.6.19.new/arch/mips/bcm963xx/boardparms.h
+--- linux-2.6.19/arch/mips/bcm963xx/boardparms.h       1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.19.new/arch/mips/bcm963xx/boardparms.h   2006-12-16 18:46:31.000000000 +0100
 @@ -0,0 +1,758 @@
 +/*
 +<:copyright-gpl 
@@ -4304,9 +4519,9 @@ diff -urN linux.old/arch/mips/bcm963xx/boardparms.h linux.dev/arch/mips/bcm963xx
 +
 +#endif /* _BOARDPARMS_H */
 +
-diff -urN linux.old/arch/mips/bcm963xx/include/6338_intr.h linux.dev/arch/mips/bcm963xx/include/6338_intr.h
---- linux.old/arch/mips/bcm963xx/include/6338_intr.h   1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/arch/mips/bcm963xx/include/6338_intr.h   2006-08-25 00:39:38.000000000 +0200
+diff -urN linux-2.6.19/arch/mips/bcm963xx/include/6338_intr.h linux-2.6.19.new/arch/mips/bcm963xx/include/6338_intr.h
+--- linux-2.6.19/arch/mips/bcm963xx/include/6338_intr.h        1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.19.new/arch/mips/bcm963xx/include/6338_intr.h    2006-12-16 18:46:31.000000000 +0100
 @@ -0,0 +1,64 @@
 +/*
 +<:copyright-gpl 
@@ -4372,9 +4587,9 @@ diff -urN linux.old/arch/mips/bcm963xx/include/6338_intr.h linux.dev/arch/mips/b
 +
 +#endif  /* __BCM6338_H */
 +
-diff -urN linux.old/arch/mips/bcm963xx/include/6338_map_part.h linux.dev/arch/mips/bcm963xx/include/6338_map_part.h
---- linux.old/arch/mips/bcm963xx/include/6338_map_part.h       1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/arch/mips/bcm963xx/include/6338_map_part.h       2006-08-25 00:39:38.000000000 +0200
+diff -urN linux-2.6.19/arch/mips/bcm963xx/include/6338_map_part.h linux-2.6.19.new/arch/mips/bcm963xx/include/6338_map_part.h
+--- linux-2.6.19/arch/mips/bcm963xx/include/6338_map_part.h    1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.19.new/arch/mips/bcm963xx/include/6338_map_part.h        2006-12-16 18:46:31.000000000 +0100
 @@ -0,0 +1,334 @@
 +/*
 +<:copyright-gpl 
@@ -4710,9 +4925,9 @@ diff -urN linux.old/arch/mips/bcm963xx/include/6338_map_part.h linux.dev/arch/mi
 +
 +#endif
 +
-diff -urN linux.old/arch/mips/bcm963xx/include/6345_intr.h linux.dev/arch/mips/bcm963xx/include/6345_intr.h
---- linux.old/arch/mips/bcm963xx/include/6345_intr.h   1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/arch/mips/bcm963xx/include/6345_intr.h   2006-08-25 00:39:38.000000000 +0200
+diff -urN linux-2.6.19/arch/mips/bcm963xx/include/6345_intr.h linux-2.6.19.new/arch/mips/bcm963xx/include/6345_intr.h
+--- linux-2.6.19/arch/mips/bcm963xx/include/6345_intr.h        1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.19.new/arch/mips/bcm963xx/include/6345_intr.h    2006-12-16 18:46:31.000000000 +0100
 @@ -0,0 +1,72 @@
 +/*
 +<:copyright-gpl 
@@ -4786,9 +5001,9 @@ diff -urN linux.old/arch/mips/bcm963xx/include/6345_intr.h linux.dev/arch/mips/b
 +
 +#endif  /* __BCM6345_H */
 +
-diff -urN linux.old/arch/mips/bcm963xx/include/6345_map_part.h linux.dev/arch/mips/bcm963xx/include/6345_map_part.h
---- linux.old/arch/mips/bcm963xx/include/6345_map_part.h       1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/arch/mips/bcm963xx/include/6345_map_part.h       2006-08-25 00:39:38.000000000 +0200
+diff -urN linux-2.6.19/arch/mips/bcm963xx/include/6345_map_part.h linux-2.6.19.new/arch/mips/bcm963xx/include/6345_map_part.h
+--- linux-2.6.19/arch/mips/bcm963xx/include/6345_map_part.h    1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.19.new/arch/mips/bcm963xx/include/6345_map_part.h        2006-12-16 18:46:31.000000000 +0100
 @@ -0,0 +1,163 @@
 +/*
 +<:copyright-gpl 
@@ -4953,9 +5168,9 @@ diff -urN linux.old/arch/mips/bcm963xx/include/6345_map_part.h linux.dev/arch/mi
 +
 +#endif
 +
-diff -urN linux.old/arch/mips/bcm963xx/include/6348_intr.h linux.dev/arch/mips/bcm963xx/include/6348_intr.h
---- linux.old/arch/mips/bcm963xx/include/6348_intr.h   1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/arch/mips/bcm963xx/include/6348_intr.h   2006-08-25 00:39:38.000000000 +0200
+diff -urN linux-2.6.19/arch/mips/bcm963xx/include/6348_intr.h linux-2.6.19.new/arch/mips/bcm963xx/include/6348_intr.h
+--- linux-2.6.19/arch/mips/bcm963xx/include/6348_intr.h        1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.19.new/arch/mips/bcm963xx/include/6348_intr.h    2006-12-16 18:46:31.000000000 +0100
 @@ -0,0 +1,74 @@
 +/*
 +<:copyright-gpl 
@@ -5031,9 +5246,9 @@ diff -urN linux.old/arch/mips/bcm963xx/include/6348_intr.h linux.dev/arch/mips/b
 +
 +#endif  /* __BCM6348_H */
 +
-diff -urN linux.old/arch/mips/bcm963xx/include/6348_map_part.h linux.dev/arch/mips/bcm963xx/include/6348_map_part.h
---- linux.old/arch/mips/bcm963xx/include/6348_map_part.h       1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/arch/mips/bcm963xx/include/6348_map_part.h       2006-08-25 00:39:38.000000000 +0200
+diff -urN linux-2.6.19/arch/mips/bcm963xx/include/6348_map_part.h linux-2.6.19.new/arch/mips/bcm963xx/include/6348_map_part.h
+--- linux-2.6.19/arch/mips/bcm963xx/include/6348_map_part.h    1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.19.new/arch/mips/bcm963xx/include/6348_map_part.h        2006-12-16 18:46:31.000000000 +0100
 @@ -0,0 +1,500 @@
 +/*
 +<:copyright-gpl 
@@ -5535,13 +5750,13 @@ diff -urN linux.old/arch/mips/bcm963xx/include/6348_map_part.h linux.dev/arch/mi
 +
 +#endif
 +
-diff -urN linux.old/arch/mips/bcm963xx/include/bcm_intr.h linux.dev/arch/mips/bcm963xx/include/bcm_intr.h
---- linux.old/arch/mips/bcm963xx/include/bcm_intr.h    1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/arch/mips/bcm963xx/include/bcm_intr.h    2006-08-25 00:39:38.000000000 +0200
-@@ -0,0 +1,59 @@
+diff -urN linux-2.6.19/arch/mips/bcm963xx/include/bcmTag.h linux-2.6.19.new/arch/mips/bcm963xx/include/bcmTag.h
+--- linux-2.6.19/arch/mips/bcm963xx/include/bcmTag.h   1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.19.new/arch/mips/bcm963xx/include/bcmTag.h       2006-12-16 18:46:31.000000000 +0100
+@@ -0,0 +1,153 @@
 +/*
 +<:copyright-gpl 
-+ Copyright 2003 Broadcom Corp. All Rights Reserved. 
++ Copyright 2002 Broadcom Corp. All Rights Reserved. 
 + 
 + This program is free software; you can distribute it and/or modify it 
 + under the terms of the GNU General Public License (Version 2) as 
@@ -5557,230 +5772,38 @@ diff -urN linux.old/arch/mips/bcm963xx/include/bcm_intr.h linux.dev/arch/mips/bc
 + 59 Temple Place - Suite 330, Boston MA 02111-1307, USA. 
 +:>
 +*/
++//**************************************************************************************
++// File Name  : bcmTag.h
++//
++// Description: add tag with validation system to the firmware image file to be uploaded
++//              via http
++//
++// Created    : 02/28/2002  seanl
++//**************************************************************************************
 +
-+#ifndef __BCM_INTR_H
-+#define __BCM_INTR_H
++#ifndef _BCMTAG_H_
++#define _BCMTAG_H_
 +
-+#ifdef __cplusplus
-+    extern "C" {
-+#endif
 +
-+#if defined(CONFIG_BCM96338)
-+#include <6338_intr.h>
-+#endif
-+#if defined(CONFIG_BCM96345)
-+#include <6345_intr.h>
-+#endif
-+#if defined(CONFIG_BCM96348)
-+#include <6348_intr.h>
-+#endif
++#define BCM_SIG_1   "Broadcom Corporation"
++#define BCM_SIG_2   "ver. 2.0"          // was "firmware version 2.0" now it is split 6 char out for chip id.
 +
-+/* defines */
-+struct pt_regs;
-+typedef int (*FN_HANDLER) (int, void *, struct pt_regs *);
++#define BCM_TAG_VER         "6"
++#define BCM_TAG_VER_LAST    "26"
 +
-+/* prototypes */
-+extern void enable_brcm_irq(unsigned int irq);
-+extern void disable_brcm_irq(unsigned int irq);
-+extern int request_external_irq(unsigned int irq,
-+    FN_HANDLER handler, unsigned long irqflags, 
-+    const char * devname, void *dev_id);
-+extern unsigned int BcmHalMapInterrupt(FN_HANDLER isr, unsigned int param,
-+    unsigned int interruptId);
-+extern void dump_intr_regs(void);
-+
-+/* compatibility definitions */
-+#define BcmHalInterruptEnable(irq)      enable_brcm_irq( irq )
-+#define BcmHalInterruptDisable(irq)     disable_brcm_irq( irq )
-+
-+#ifdef __cplusplus
-+    }
-+#endif
-+
-+#endif
-diff -urN linux.old/arch/mips/bcm963xx/include/bcm_map_part.h linux.dev/arch/mips/bcm963xx/include/bcm_map_part.h
---- linux.old/arch/mips/bcm963xx/include/bcm_map_part.h        1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/arch/mips/bcm963xx/include/bcm_map_part.h        2006-08-25 00:39:38.000000000 +0200
-@@ -0,0 +1,34 @@
-+/*
-+<:copyright-gpl 
-+ Copyright 2004 Broadcom Corp. All Rights Reserved. 
-+ 
-+ This program is free software; you can distribute it and/or modify it 
-+ under the terms of the GNU General Public License (Version 2) as 
-+ published by the Free Software Foundation. 
-+ 
-+ This program is distributed in the hope 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. 
-+:>
-+*/
-+
-+#ifndef __BCM_MAP_PART_H
-+#define __BCM_MAP_PART_H
-+
-+#if defined(CONFIG_BCM96338)
-+#include <6338_map_part.h>
-+#endif
-+#if defined(CONFIG_BCM96345)
-+#include <6345_map_part.h>
-+#endif
-+#if defined(CONFIG_BCM96348)
-+#include <6348_map_part.h>
-+#endif
-+
-+#endif
-+
-diff -urN linux.old/arch/mips/bcm963xx/include/bcmpci.h linux.dev/arch/mips/bcm963xx/include/bcmpci.h
---- linux.old/arch/mips/bcm963xx/include/bcmpci.h      1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/arch/mips/bcm963xx/include/bcmpci.h      2006-08-25 00:39:38.000000000 +0200
-@@ -0,0 +1,87 @@
-+/*
-+<:copyright-gpl 
-+ Copyright 2004 Broadcom Corp. All Rights Reserved. 
-+ 
-+ This program is free software; you can distribute it and/or modify it 
-+ under the terms of the GNU General Public License (Version 2) as 
-+ published by the Free Software Foundation. 
-+ 
-+ This program is distributed in the hope 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. 
-+:>
-+*/
-+
-+//
-+// bcmpci.h - bcm96348 PCI, Cardbus, and PCMCIA definition
-+//
-+#ifndef BCMPCI_H
-+#define BCMPCI_H
-+
-+/* Memory window in internal system bus address space */ 
-+#define BCM_PCI_MEM_BASE        0x08000000
-+/* IO window in internal system bus address space */ 
-+#define BCM_PCI_IO_BASE         0x0C000000
-+
-+#define BCM_PCI_ADDR_MASK       0x1fffffff
-+
-+/* Memory window size (range) */
-+#define BCM_PCI_MEM_SIZE_16MB   0x01000000
-+/* IO window size (range) */
-+#define BCM_PCI_IO_SIZE_64KB    0x00010000
-+
-+/* PCI Configuration and I/O space acesss */
-+#define BCM_PCI_CFG(d, f, o)    ( (d << 11) | (f << 8) | (o/4 << 2) )
-+
-+/* fake USB PCI slot */
-+#define USB_HOST_SLOT           9
-+#define USB_BAR0_MEM_SIZE       0x0800
-+
-+#define BCM_HOST_MEM_SPACE1     0x10000000
-+#define BCM_HOST_MEM_SPACE2     0x00000000
-+
-+/* 
-+ * EBI bus clock is 33MHz and share with PCI bus
-+ * each clock cycle is 30ns.
-+ */
-+/* attribute memory access wait cnt for 4306 */
-+#define PCMCIA_ATTR_CE_HOLD     3  // data hold time 70ns
-+#define PCMCIA_ATTR_CE_SETUP    3  // data setup time 50ns
-+#define PCMCIA_ATTR_INACTIVE    6  // time between read/write cycles 180ns. For the total cycle time 600ns (cnt1+cnt2+cnt3+cnt4)
-+#define PCMCIA_ATTR_ACTIVE      10 // OE/WE pulse width 300ns
-+
-+/* common memory access wait cnt for 4306 */
-+#define PCMCIA_MEM_CE_HOLD      1  // data hold time 30ns
-+#define PCMCIA_MEM_CE_SETUP     1  // data setup time 30ns
-+#define PCMCIA_MEM_INACTIVE     2  // time between read/write cycles 40ns. For the total cycle time 250ns (cnt1+cnt2+cnt3+cnt4)
-+#define PCMCIA_MEM_ACTIVE       5  // OE/WE pulse width 150ns
-+
-+#define PCCARD_VCC_MASK     0x00070000  // Mask Reset also
-+#define PCCARD_VCC_33V      0x00010000
-+#define PCCARD_VCC_50V      0x00020000
-+
-+typedef enum {
-+    MPI_CARDTYPE_NONE,      // No Card in slot
-+    MPI_CARDTYPE_PCMCIA,    // 16-bit PCMCIA card in slot    
-+    MPI_CARDTYPE_CARDBUS,   // 32-bit CardBus card in slot
-+}   CardType;
-+
-+#define CARDBUS_SLOT        0    // Slot 0 is default for CardBus
-+
-+#define pcmciaAttrOffset    0x00200000
-+#define pcmciaMemOffset     0x00000000
-+// Needs to be right above PCI I/O space. Give 0x8000 (32K) to PCMCIA. 
-+#define pcmciaIoOffset      (BCM_PCI_IO_BASE + 0x80000)
-+// Base Address is that mapped into the MPI ChipSelect registers. 
-+// UBUS bridge MemoryWindow 0 outputs a 0x00 for the base.
-+#define pcmciaBase          0xbf000000
-+#define pcmciaAttr          (pcmciaAttrOffset | pcmciaBase)
-+#define pcmciaMem           (pcmciaMemOffset  | pcmciaBase)
-+#define pcmciaIo            (pcmciaIoOffset   | pcmciaBase)
-+
-+#endif
-diff -urN linux.old/arch/mips/bcm963xx/include/bcmTag.h linux.dev/arch/mips/bcm963xx/include/bcmTag.h
---- linux.old/arch/mips/bcm963xx/include/bcmTag.h      1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/arch/mips/bcm963xx/include/bcmTag.h      2006-08-25 00:39:38.000000000 +0200
-@@ -0,0 +1,153 @@
-+/*
-+<:copyright-gpl 
-+ Copyright 2002 Broadcom Corp. All Rights Reserved. 
-+ 
-+ This program is free software; you can distribute it and/or modify it 
-+ under the terms of the GNU General Public License (Version 2) as 
-+ published by the Free Software Foundation. 
-+ 
-+ This program is distributed in the hope 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. 
-+:>
-+*/
-+//**************************************************************************************
-+// File Name  : bcmTag.h
-+//
-+// Description: add tag with validation system to the firmware image file to be uploaded
-+//              via http
-+//
-+// Created    : 02/28/2002  seanl
-+//**************************************************************************************
-+
-+#ifndef _BCMTAG_H_
-+#define _BCMTAG_H_
-+
-+
-+#define BCM_SIG_1   "Broadcom Corporation"
-+#define BCM_SIG_2   "ver. 2.0"          // was "firmware version 2.0" now it is split 6 char out for chip id.
-+
-+#define BCM_TAG_VER         "6"
-+#define BCM_TAG_VER_LAST    "26"
-+
-+// file tag (head) structure all is in clear text except validationTokens (crc, md5, sha1, etc). Total: 128 unsigned chars
-+#define TAG_LEN         256
-+#define TAG_VER_LEN     4
-+#define SIG_LEN         20
-+#define SIG_LEN_2       14   // Original second SIG = 20 is now devided into 14 for SIG_LEN_2 and 6 for CHIP_ID
-+#define CHIP_ID_LEN           6       
-+#define IMAGE_LEN       10
-+#define ADDRESS_LEN     12
-+#define FLAG_LEN        2
-+#define TOKEN_LEN       20
-+#define BOARD_ID_LEN    16
-+#define RESERVED_LEN    (TAG_LEN - TAG_VER_LEN - SIG_LEN - SIG_LEN_2 - CHIP_ID_LEN - BOARD_ID_LEN - \
-+                        (4*IMAGE_LEN) - (3*ADDRESS_LEN) - (3*FLAG_LEN) - (2*TOKEN_LEN))
++// file tag (head) structure all is in clear text except validationTokens (crc, md5, sha1, etc). Total: 128 unsigned chars
++#define TAG_LEN         256
++#define TAG_VER_LEN     4
++#define SIG_LEN         20
++#define SIG_LEN_2       14   // Original second SIG = 20 is now devided into 14 for SIG_LEN_2 and 6 for CHIP_ID
++#define CHIP_ID_LEN           6       
++#define IMAGE_LEN       10
++#define ADDRESS_LEN     12
++#define FLAG_LEN        2
++#define TOKEN_LEN       20
++#define BOARD_ID_LEN    16
++#define RESERVED_LEN    (TAG_LEN - TAG_VER_LEN - SIG_LEN - SIG_LEN_2 - CHIP_ID_LEN - BOARD_ID_LEN - \
++                        (4*IMAGE_LEN) - (3*ADDRESS_LEN) - (3*FLAG_LEN) - (2*TOKEN_LEN))
 +
 +
 +// TAG for downloadable image (kernel plus file system)
@@ -5882,12 +5905,204 @@ diff -urN linux.old/arch/mips/bcm963xx/include/bcmTag.h linux.dev/arch/mips/bcm9
 +#endif // BCMTAG_USE
 +
 +
-+#endif // _BCMTAG_H_
++#endif // _BCMTAG_H_
++
+diff -urN linux-2.6.19/arch/mips/bcm963xx/include/bcm_intr.h linux-2.6.19.new/arch/mips/bcm963xx/include/bcm_intr.h
+--- linux-2.6.19/arch/mips/bcm963xx/include/bcm_intr.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.19.new/arch/mips/bcm963xx/include/bcm_intr.h     2006-12-16 18:46:31.000000000 +0100
+@@ -0,0 +1,59 @@
++/*
++<:copyright-gpl 
++ Copyright 2003 Broadcom Corp. All Rights Reserved. 
++ 
++ This program is free software; you can distribute it and/or modify it 
++ under the terms of the GNU General Public License (Version 2) as 
++ published by the Free Software Foundation. 
++ 
++ This program is distributed in the hope 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. 
++:>
++*/
++
++#ifndef __BCM_INTR_H
++#define __BCM_INTR_H
++
++#ifdef __cplusplus
++    extern "C" {
++#endif
++
++#if defined(CONFIG_BCM96338)
++#include <6338_intr.h>
++#endif
++#if defined(CONFIG_BCM96345)
++#include <6345_intr.h>
++#endif
++#if defined(CONFIG_BCM96348)
++#include <6348_intr.h>
++#endif
++
++/* defines */
++struct pt_regs;
++typedef int (*FN_HANDLER) (int, void *);
++
++/* prototypes */
++extern void enable_brcm_irq(unsigned int irq);
++extern void disable_brcm_irq(unsigned int irq);
++extern int request_external_irq(unsigned int irq,
++    FN_HANDLER handler, unsigned long irqflags, 
++    const char * devname, void *dev_id);
++extern unsigned int BcmHalMapInterrupt(FN_HANDLER isr, unsigned int param,
++    unsigned int interruptId);
++extern void dump_intr_regs(void);
++
++/* compatibility definitions */
++#define BcmHalInterruptEnable(irq)      enable_brcm_irq( irq )
++#define BcmHalInterruptDisable(irq)     disable_brcm_irq( irq )
++
++#ifdef __cplusplus
++    }
++#endif
++
++#endif
+diff -urN linux-2.6.19/arch/mips/bcm963xx/include/bcm_map_part.h linux-2.6.19.new/arch/mips/bcm963xx/include/bcm_map_part.h
+--- linux-2.6.19/arch/mips/bcm963xx/include/bcm_map_part.h     1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.19.new/arch/mips/bcm963xx/include/bcm_map_part.h 2006-12-16 18:46:31.000000000 +0100
+@@ -0,0 +1,34 @@
++/*
++<:copyright-gpl 
++ Copyright 2004 Broadcom Corp. All Rights Reserved. 
++ 
++ This program is free software; you can distribute it and/or modify it 
++ under the terms of the GNU General Public License (Version 2) as 
++ published by the Free Software Foundation. 
++ 
++ This program is distributed in the hope 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. 
++:>
++*/
++
++#ifndef __BCM_MAP_PART_H
++#define __BCM_MAP_PART_H
++
++#if defined(CONFIG_BCM96338)
++#include <6338_map_part.h>
++#endif
++#if defined(CONFIG_BCM96345)
++#include <6345_map_part.h>
++#endif
++#if defined(CONFIG_BCM96348)
++#include <6348_map_part.h>
++#endif
++
++#endif
++
+diff -urN linux-2.6.19/arch/mips/bcm963xx/include/bcmpci.h linux-2.6.19.new/arch/mips/bcm963xx/include/bcmpci.h
+--- linux-2.6.19/arch/mips/bcm963xx/include/bcmpci.h   1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.19.new/arch/mips/bcm963xx/include/bcmpci.h       2006-12-16 18:46:31.000000000 +0100
+@@ -0,0 +1,87 @@
++/*
++<:copyright-gpl 
++ Copyright 2004 Broadcom Corp. All Rights Reserved. 
++ 
++ This program is free software; you can distribute it and/or modify it 
++ under the terms of the GNU General Public License (Version 2) as 
++ published by the Free Software Foundation. 
++ 
++ This program is distributed in the hope 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. 
++:>
++*/
++
++//
++// bcmpci.h - bcm96348 PCI, Cardbus, and PCMCIA definition
++//
++#ifndef BCMPCI_H
++#define BCMPCI_H
++
++/* Memory window in internal system bus address space */ 
++#define BCM_PCI_MEM_BASE        0x08000000
++/* IO window in internal system bus address space */ 
++#define BCM_PCI_IO_BASE         0x0C000000
++
++#define BCM_PCI_ADDR_MASK       0x1fffffff
++
++/* Memory window size (range) */
++#define BCM_PCI_MEM_SIZE_16MB   0x01000000
++/* IO window size (range) */
++#define BCM_PCI_IO_SIZE_64KB    0x00010000
++
++/* PCI Configuration and I/O space acesss */
++#define BCM_PCI_CFG(d, f, o)    ( (d << 11) | (f << 8) | (o/4 << 2) )
++
++/* fake USB PCI slot */
++#define USB_HOST_SLOT           9
++#define USB_BAR0_MEM_SIZE       0x0800
++
++#define BCM_HOST_MEM_SPACE1     0x10000000
++#define BCM_HOST_MEM_SPACE2     0x00000000
++
++/* 
++ * EBI bus clock is 33MHz and share with PCI bus
++ * each clock cycle is 30ns.
++ */
++/* attribute memory access wait cnt for 4306 */
++#define PCMCIA_ATTR_CE_HOLD     3  // data hold time 70ns
++#define PCMCIA_ATTR_CE_SETUP    3  // data setup time 50ns
++#define PCMCIA_ATTR_INACTIVE    6  // time between read/write cycles 180ns. For the total cycle time 600ns (cnt1+cnt2+cnt3+cnt4)
++#define PCMCIA_ATTR_ACTIVE      10 // OE/WE pulse width 300ns
 +
-diff -urN linux.old/arch/mips/bcm963xx/include/bcmtypes.h linux.dev/arch/mips/bcm963xx/include/bcmtypes.h
---- linux.old/arch/mips/bcm963xx/include/bcmtypes.h    1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/arch/mips/bcm963xx/include/bcmtypes.h    2006-08-25 00:39:38.000000000 +0200
-@@ -0,0 +1,163 @@
++/* common memory access wait cnt for 4306 */
++#define PCMCIA_MEM_CE_HOLD      1  // data hold time 30ns
++#define PCMCIA_MEM_CE_SETUP     1  // data setup time 30ns
++#define PCMCIA_MEM_INACTIVE     2  // time between read/write cycles 40ns. For the total cycle time 250ns (cnt1+cnt2+cnt3+cnt4)
++#define PCMCIA_MEM_ACTIVE       5  // OE/WE pulse width 150ns
++
++#define PCCARD_VCC_MASK     0x00070000  // Mask Reset also
++#define PCCARD_VCC_33V      0x00010000
++#define PCCARD_VCC_50V      0x00020000
++
++typedef enum {
++    MPI_CARDTYPE_NONE,      // No Card in slot
++    MPI_CARDTYPE_PCMCIA,    // 16-bit PCMCIA card in slot    
++    MPI_CARDTYPE_CARDBUS,   // 32-bit CardBus card in slot
++}   CardType;
++
++#define CARDBUS_SLOT        0    // Slot 0 is default for CardBus
++
++#define pcmciaAttrOffset    0x00200000
++#define pcmciaMemOffset     0x00000000
++// Needs to be right above PCI I/O space. Give 0x8000 (32K) to PCMCIA. 
++#define pcmciaIoOffset      (BCM_PCI_IO_BASE + 0x80000)
++// Base Address is that mapped into the MPI ChipSelect registers. 
++// UBUS bridge MemoryWindow 0 outputs a 0x00 for the base.
++#define pcmciaBase          0xbf000000
++#define pcmciaAttr          (pcmciaAttrOffset | pcmciaBase)
++#define pcmciaMem           (pcmciaMemOffset  | pcmciaBase)
++#define pcmciaIo            (pcmciaIoOffset   | pcmciaBase)
++
++#endif
+diff -urN linux-2.6.19/arch/mips/bcm963xx/include/bcmtypes.h linux-2.6.19.new/arch/mips/bcm963xx/include/bcmtypes.h
+--- linux-2.6.19/arch/mips/bcm963xx/include/bcmtypes.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.19.new/arch/mips/bcm963xx/include/bcmtypes.h     2006-12-16 18:46:31.000000000 +0100
+@@ -0,0 +1,160 @@
 +/*
 +<:copyright-gpl 
 + Copyright 2002 Broadcom Corp. All Rights Reserved. 
@@ -5923,9 +6138,6 @@ diff -urN linux.old/arch/mips/bcm963xx/include/bcmtypes.h linux.dev/arch/mips/bc
 +typedef signed char     int8;
 +typedef signed short    int16;
 +typedef signed long     int32;
-+#if !defined(__cplusplus)
-+typedef       int     bool;
-+#endif
 +#endif
 +
 +typedef unsigned char   byte;
@@ -6051,9 +6263,9 @@ diff -urN linux.old/arch/mips/bcm963xx/include/bcmtypes.h linux.dev/arch/mips/bc
 +#define READ8(addr)         (*(volatile UINT8  *)((ULONG)&addr))
 +
 +#endif
-diff -urN linux.old/arch/mips/bcm963xx/include/board.h linux.dev/arch/mips/bcm963xx/include/board.h
---- linux.old/arch/mips/bcm963xx/include/board.h       1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/arch/mips/bcm963xx/include/board.h       2006-08-25 01:52:34.000000000 +0200
+diff -urN linux-2.6.19/arch/mips/bcm963xx/include/board.h linux-2.6.19.new/arch/mips/bcm963xx/include/board.h
+--- linux-2.6.19/arch/mips/bcm963xx/include/board.h    1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.19.new/arch/mips/bcm963xx/include/board.h        2006-12-16 18:46:31.000000000 +0100
 @@ -0,0 +1,373 @@
 +/*
 +<:copyright-gpl 
@@ -6428,9 +6640,9 @@ diff -urN linux.old/arch/mips/bcm963xx/include/board.h linux.dev/arch/mips/bcm96
 +
 +#endif /* _BOARD_H */
 +
-diff -urN linux.old/arch/mips/bcm963xx/int-handler.S linux.dev/arch/mips/bcm963xx/int-handler.S
---- linux.old/arch/mips/bcm963xx/int-handler.S 1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/arch/mips/bcm963xx/int-handler.S 2006-08-25 02:13:33.000000000 +0200
+diff -urN linux-2.6.19/arch/mips/bcm963xx/int-handler.S linux-2.6.19.new/arch/mips/bcm963xx/int-handler.S
+--- linux-2.6.19/arch/mips/bcm963xx/int-handler.S      1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.19.new/arch/mips/bcm963xx/int-handler.S  2006-12-16 18:46:31.000000000 +0100
 @@ -0,0 +1,59 @@
 +/*
 +<:copyright-gpl 
@@ -6454,7 +6666,7 @@ diff -urN linux.old/arch/mips/bcm963xx/int-handler.S linux.dev/arch/mips/bcm963x
 + * Generic interrupt handler for Broadcom MIPS boards
 + */
 +
-+#include <linux/config.h>
++#include <linux/autoconf.h>
 +
 +#include <asm/asm.h>
 +#include <asm/mipsregs.h>
@@ -6491,9 +6703,9 @@ diff -urN linux.old/arch/mips/bcm963xx/int-handler.S linux.dev/arch/mips/bcm963x
 +      nop
 +              
 +      END(brcmIRQ)
-diff -urN linux.old/arch/mips/bcm963xx/irq.c linux.dev/arch/mips/bcm963xx/irq.c
---- linux.old/arch/mips/bcm963xx/irq.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/arch/mips/bcm963xx/irq.c 2006-08-25 03:54:34.000000000 +0200
+diff -urN linux-2.6.19/arch/mips/bcm963xx/irq.c linux-2.6.19.new/arch/mips/bcm963xx/irq.c
+--- linux-2.6.19/arch/mips/bcm963xx/irq.c      1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.19.new/arch/mips/bcm963xx/irq.c  2006-12-16 18:46:31.000000000 +0100
 @@ -0,0 +1,256 @@
 +/*
 +<:copyright-gpl 
@@ -6555,13 +6767,13 @@ diff -urN linux.old/arch/mips/bcm963xx/irq.c linux.dev/arch/mips/bcm963xx/irq.c
 +      }
 +      if (pendingIrqs & irqBit) {
 +                      PERF->IrqMask &= ~irqBit; // mask
-+                      do_IRQ(isrNumber + INTERNAL_ISR_TABLE_OFFSET, regs);
++                      do_IRQ(isrNumber + INTERNAL_ISR_TABLE_OFFSET);
 +              break;
 +      }
 +      }
 +}
 +
-+static void irq_dispatch_ext(uint32 irq, struct pt_regs *regs)
++static void irq_dispatch_ext(uint32 irq)
 +{
 +      if (!(PERF->ExtIrqCfg & (1 << (irq - INTERRUPT_ID_EXTERNAL_0 + EI_MASK_SHFT)))) {
 +      printk("**** Ext IRQ mask. Should not dispatch ****\n");
@@ -6569,7 +6781,7 @@ diff -urN linux.old/arch/mips/bcm963xx/irq.c linux.dev/arch/mips/bcm963xx/irq.c
 +      /* disable and clear interrupt in the controller */
 +      PERF->ExtIrqCfg |= (1 << (irq - INTERRUPT_ID_EXTERNAL_0 + EI_CLEAR_SHFT));
 +      PERF->ExtIrqCfg &= ~(1 << (irq - INTERRUPT_ID_EXTERNAL_0 + EI_MASK_SHFT));
-+      do_IRQ(irq, regs);
++      do_IRQ(irq);
 +}
 +
 +
@@ -6584,13 +6796,13 @@ diff -urN linux.old/arch/mips/bcm963xx/irq.c linux.dev/arch/mips/bcm963xx/irq.c
 +              else if (cause & CAUSEF_IP2)
 +                      irq_dispatch_int(regs);
 +              else if (cause & CAUSEF_IP3)
-+                      irq_dispatch_ext(INTERRUPT_ID_EXTERNAL_0, regs);
++                      irq_dispatch_ext(INTERRUPT_ID_EXTERNAL_0);
 +              else if (cause & CAUSEF_IP4)
-+                      irq_dispatch_ext(INTERRUPT_ID_EXTERNAL_1, regs);
++                      irq_dispatch_ext(INTERRUPT_ID_EXTERNAL_1);
 +              else if (cause & CAUSEF_IP5)
-+                      irq_dispatch_ext(INTERRUPT_ID_EXTERNAL_2, regs);
++                      irq_dispatch_ext(INTERRUPT_ID_EXTERNAL_2);
 +              else if (cause & CAUSEF_IP6)
-+                      irq_dispatch_ext(INTERRUPT_ID_EXTERNAL_3, regs);
++                      irq_dispatch_ext(INTERRUPT_ID_EXTERNAL_3);
 +              local_irq_disable();
 +      }
 +}
@@ -6687,7 +6899,7 @@ diff -urN linux.old/arch/mips/bcm963xx/irq.c linux.dev/arch/mips/bcm963xx/irq.c
 +              irq_desc[i].status = IRQ_DISABLED;
 +              irq_desc[i].action = 0;
 +              irq_desc[i].depth = 1;
-+              irq_desc[i].handler = &brcm_irq_type;
++              irq_desc[i].chip = &brcm_irq_type;
 +      }
 +}
 +
@@ -6729,7 +6941,7 @@ diff -urN linux.old/arch/mips/bcm963xx/irq.c linux.dev/arch/mips/bcm963xx/irq.c
 +       * explicitly call BcmHalInterruptEnable or enable_brcm_irq.  This behavior
 +       * is consistent with interrupt handling on VxWorks.
 +       */
-+      irq_desc[interruptId].handler = &brcm_irq_no_end_type;
++      irq_desc[interruptId].chip = &brcm_irq_no_end_type;
 +
 +      if( interruptId >= INTERNAL_ISR_TABLE_OFFSET )
 +      {
@@ -6751,178 +6963,9 @@ diff -urN linux.old/arch/mips/bcm963xx/irq.c linux.dev/arch/mips/bcm963xx/irq.c
 +EXPORT_SYMBOL(request_external_irq);
 +EXPORT_SYMBOL(BcmHalMapInterrupt);
 +
-diff -urN linux.old/arch/mips/bcm963xx/Kconfig linux.dev/arch/mips/bcm963xx/Kconfig
---- linux.old/arch/mips/bcm963xx/Kconfig       1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/arch/mips/bcm963xx/Kconfig       2006-08-25 01:22:39.000000000 +0200
-@@ -0,0 +1,138 @@
-+# Kernel and Driver configuration for Broadcom Commengine ADSL board
-+choice
-+      prompt "Broadcom Commengine ADSL board"
-+      depends on MIPS_BRCM
-+      default BCM96345
-+      help
-+        Select different Broadcom ADSL board
-+
-+config BCM96338
-+      bool "96338 ADSL board"
-+      select DMA_NONCOHERENT
-+      select HW_HAS_PCI
-+
-+config BCM96345
-+      bool "96345 ADSL board"
-+      select DMA_NONCOHERENT
-+      select HW_HAS_PCI
-+
-+config BCM96348
-+      bool "96348 ADSL board"
-+      select DMA_NONCOHERENT
-+      select HW_HAS_PCI
-+
-+endchoice
-+
-+config BCM_BOARD
-+      bool "Support for Broadcom Board"
-+      depends on BCM96338 || BCM96345 || BCM96348
-+
-+config BCM_SERIAL
-+      bool "Support for Serial Port"
-+      depends on BCM96338 || BCM96345 || BCM96348
-+
-+config BCM_ENET
-+      tristate "Support for Ethernet"
-+      depends on BCM96338 || BCM96345 || BCM96348
-+
-+config BCM_USB
-+      tristate "Support for USB"
-+      depends on BCM96338 || BCM96345 || BCM96348
-+
-+config BCM_WLAN
-+      tristate "Support for Wireless"
-+      depends on BCM96338 || BCM96345 || BCM96348
-+
-+config BCM_PCI
-+      bool "Support for PCI"
-+      depends on BCM96338 || BCM96345 || BCM96348
-+      select PCI
-+
-+config BCM_ATMAPI
-+      tristate "Support for ATM"
-+      depends on BCM96338 || BCM96345 || BCM96348
-+
-+config BCM_ATMTEST
-+      tristate "Support for ATM Diagnostic"
-+      depends on BCM96338 || BCM96345 || BCM96348
-+
-+config BCM_ADSL
-+      tristate "Support for ADSL"
-+      depends on BCM96338 || BCM96345 || BCM96348
-+
-+config BCM_ENDPOINT
-+      tristate "Support for VOICE"
-+      depends on BCM96338 || BCM96345 || BCM96348
-+
-+config BCM_PROCFS
-+      tristate "Support for PROCFS"
-+      depends on BCM96338 || BCM96345 || BCM96348
-+
-+config BCM_VDSL
-+      tristate "Support for VDSL"
-+      depends on BCM96338 || BCM96345 || BCM96348
-+
-+config BCM_SECURITY
-+      tristate "Support for SECURITY"
-+      depends on BCM96338 || BCM96345 || BCM96348
-+
-+config BCM_HPNA
-+      tristate "Support for HPNA"
-+      depends on BCM96338 || BCM96345 || BCM96348
-+
-+config BCM_BOARD_IMPL
-+      int "Implementation index for ADSL Board"
-+      depends on BCM96338 || BCM96345 || BCM96348
-+
-+config BCM_SERIAL_IMPL
-+      int "Implementation index for Serial"
-+      depends on BCM96338 || BCM96345 || BCM96348
-+
-+config BCM_ENET_IMPL
-+      int "Implementation index for Ethernet"
-+      depends on BCM96338 || BCM96345 || BCM96348
-+
-+config BCM_USB_IMPL
-+      int "Implementation index for USB"
-+      depends on BCM96338 || BCM96345 || BCM96348
-+
-+config BCM_WLAN_IMPL
-+      int "Implementation index for WIRELESS"
-+      depends on BCM96338 || BCM96345 || BCM96348
-+
-+config BCM_ATMAPI_IMPL
-+      int "Implementation index for ATM"
-+      depends on BCM96338 || BCM96345 || BCM96348
-+
-+config BCM_ATMTEST_IMPL
-+      int "Implementation index for ATM Diagnostic"
-+      depends on BCM96338 || BCM96345 || BCM96348
-+
-+config BCM_BLAA_IMPL
-+      int "Implementation index for BLAA"
-+      depends on BCM96338 || BCM96345 || BCM96348
-+
-+config BCM_ADSL_IMPL
-+      int "Implementation index for ADSL"
-+      depends on BCM96338 || BCM96345 || BCM96348
-+
-+config BCM_ENDPOINT_IMPL
-+      int "Implementation index for VOICE"
-+      depends on BCM96338 || BCM96345 || BCM96348
-+
-+config BCM_PROCFS_IMPL
-+      int "Implementation index for PROCFS"
-+      depends on BCM96338 || BCM96345 || BCM96348
-+
-+config BCM_VDSL_IMPL
-+      int "Implementation index for VDSL"
-+      depends on BCM96338 || BCM96345 || BCM96348
-+
-+config BCM_SECURITY_IMPL
-+      int "Implementation index for SECURITY"
-+      depends on BCM96338 || BCM96345 || BCM96348
-+
-+config BCM_HPNA_IMPL
-+      int "Implementation index for HPNA"
-+      depends on BCM96338 || BCM96345 || BCM96348
-+
-diff -urN linux.old/arch/mips/bcm963xx/Makefile linux.dev/arch/mips/bcm963xx/Makefile
---- linux.old/arch/mips/bcm963xx/Makefile      1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/arch/mips/bcm963xx/Makefile      2006-08-25 02:04:27.000000000 +0200
-@@ -0,0 +1,23 @@
-+#
-+# Makefile for generic Broadcom MIPS boards
-+#
-+# Copyright (C) 2004 Broadcom Corporation
-+#
-+obj-y           := irq.o prom.o setup.o time.o ser_init.o bcm63xx_led.o  board.o  boardparms.o int-handler.o
-+
-+SRCBASE         := $(TOPDIR)
-+EXTRA_CFLAGS    += -I$(SRCBASE)/include
-+#EXTRA_CFLAGS    += -I$(INC_ADSLDRV_PATH) -DDBG
-+EXTRA_CFLAGS    += -I$(INC_ADSLDRV_PATH) 
-+
-+
-+ifeq "$(ADSL)" "ANNEX_B"
-+EXTRA_CFLAGS += -DADSL_ANNEXB
-+endif
-+ifeq "$(ADSL)" "SADSL"
-+EXTRA_CFLAGS += -DADSL_SADSL
-+endif
-+ifeq "$(ADSL)" "ANNEX_C"
-+EXTRA_CFLAGS += -DADSL_ANNEXC
-+endif
-+
-diff -urN linux-2.6.17/arch/mips/bcm963xx/prom.c linux-2.6.17-brcm63xx/arch/mips/bcm963xx/prom.c
---- linux-2.6.17/arch/mips/bcm963xx/prom.c      1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.17-brcm63xx/arch/mips/bcm963xx/prom.c     2006-08-29 07:10:10.000000000 +0200
+diff -urN linux-2.6.19/arch/mips/bcm963xx/prom.c linux-2.6.19.new/arch/mips/bcm963xx/prom.c
+--- linux-2.6.19/arch/mips/bcm963xx/prom.c     1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.19.new/arch/mips/bcm963xx/prom.c 2006-12-16 18:46:31.000000000 +0100
 @@ -0,0 +1,143 @@
 +/*
 +<:copyright-gpl
@@ -7067,9 +7110,9 @@ diff -urN linux-2.6.17/arch/mips/bcm963xx/prom.c linux-2.6.17-brcm63xx/arch/mips
 +
 +}
 +
-diff -urN linux.old/arch/mips/bcm963xx/ser_init.c linux.dev/arch/mips/bcm963xx/ser_init.c
---- linux.old/arch/mips/bcm963xx/ser_init.c    1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/arch/mips/bcm963xx/ser_init.c    2006-08-25 00:39:38.000000000 +0200
+diff -urN linux-2.6.19/arch/mips/bcm963xx/ser_init.c linux-2.6.19.new/arch/mips/bcm963xx/ser_init.c
+--- linux-2.6.19/arch/mips/bcm963xx/ser_init.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.19.new/arch/mips/bcm963xx/ser_init.c     2006-12-16 18:46:31.000000000 +0100
 @@ -0,0 +1,180 @@
 +/*
 +<:copyright-gpl 
@@ -7095,7 +7138,7 @@ diff -urN linux.old/arch/mips/bcm963xx/ser_init.c linux.dev/arch/mips/bcm963xx/s
 + *   
 + */
 +
-+#include <linux/config.h>
++#include <linux/autoconf.h>
 +#include <linux/init.h>
 +#include <linux/interrupt.h>
 +#include <linux/kernel.h>
@@ -7251,10 +7294,10 @@ diff -urN linux.old/arch/mips/bcm963xx/ser_init.c linux.dev/arch/mips/bcm963xx/s
 +      prom_puts(ptr);
 +}
 +#endif
-diff -urN linux.old/arch/mips/bcm963xx/setup.c linux.dev/arch/mips/bcm963xx/setup.c
---- linux.old/arch/mips/bcm963xx/setup.c       1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/arch/mips/bcm963xx/setup.c       2006-08-25 02:26:58.000000000 +0200
-@@ -0,0 +1,525 @@
+diff -urN linux-2.6.19/arch/mips/bcm963xx/setup.c linux-2.6.19.new/arch/mips/bcm963xx/setup.c
+--- linux-2.6.19/arch/mips/bcm963xx/setup.c    1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.19.new/arch/mips/bcm963xx/setup.c        2006-12-16 18:46:31.000000000 +0100
+@@ -0,0 +1,523 @@
 +/*
 +<:copyright-gpl 
 + Copyright 2002 Broadcom Corp. All Rights Reserved. 
@@ -7277,7 +7320,7 @@ diff -urN linux.old/arch/mips/bcm963xx/setup.c linux.dev/arch/mips/bcm963xx/setu
 + * Generic setup routines for Broadcom 963xx MIPS boards
 + */
 +
-+#include <linux/config.h>
++#include <linux/autoconf.h>
 +#include <linux/init.h>
 +#include <linux/interrupt.h>
 +#include <linux/kernel.h>
@@ -7298,7 +7341,6 @@ diff -urN linux.old/arch/mips/bcm963xx/setup.c linux.dev/arch/mips/bcm963xx/setu
 +#include <asm/gdb-stub.h>
 +
 +extern void brcm_time_init(void);
-+extern void brcm_timer_setup(struct irqaction *irq);
 +extern unsigned long getMemorySize(void);
 +
 +#if defined(CONFIG_BCM96348) && defined(CONFIG_PCI)
@@ -7723,7 +7765,6 @@ diff -urN linux.old/arch/mips/bcm963xx/setup.c linux.dev/arch/mips/bcm963xx/setu
 +    pm_power_off = brcm_machine_halt;
 +
 +    board_time_init = brcm_time_init;
-+    board_timer_setup = brcm_timer_setup;
 +
 +    panic_timeout = 5;
 +
@@ -7734,7 +7775,7 @@ diff -urN linux.old/arch/mips/bcm963xx/setup.c linux.dev/arch/mips/bcm963xx/setu
 +    return 0;
 +}
 +
-+void plat_setup(void)
++void __init plat_mem_setup(void)
 +{
 +    brcm63xx_setup();
 +}
@@ -7780,15 +7821,15 @@ diff -urN linux.old/arch/mips/bcm963xx/setup.c linux.dev/arch/mips/bcm963xx/setu
 +EXPORT_SYMBOL(_ZdlPv);
 +EXPORT_SYMBOL(_ZdaPv);
 +
-diff -urN linux.old/arch/mips/bcm963xx/softdsl/AdslCoreDefs.h linux.dev/arch/mips/bcm963xx/softdsl/AdslCoreDefs.h
---- linux.old/arch/mips/bcm963xx/softdsl/AdslCoreDefs.h        1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/arch/mips/bcm963xx/softdsl/AdslCoreDefs.h        2006-08-25 00:39:38.000000000 +0200
+diff -urN linux-2.6.19/arch/mips/bcm963xx/softdsl/AdslCoreDefs.h linux-2.6.19.new/arch/mips/bcm963xx/softdsl/AdslCoreDefs.h
+--- linux-2.6.19/arch/mips/bcm963xx/softdsl/AdslCoreDefs.h     1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.19.new/arch/mips/bcm963xx/softdsl/AdslCoreDefs.h 2006-12-16 18:46:31.000000000 +0100
 @@ -0,0 +1,2 @@
 +#define ADSL_SDRAM_IMAGE_SIZE (384*1024)
 +
-diff -urN linux.old/arch/mips/bcm963xx/time.c linux.dev/arch/mips/bcm963xx/time.c
---- linux.old/arch/mips/bcm963xx/time.c        1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/arch/mips/bcm963xx/time.c        2006-08-25 03:58:22.000000000 +0200
+diff -urN linux-2.6.19/arch/mips/bcm963xx/time.c linux-2.6.19.new/arch/mips/bcm963xx/time.c
+--- linux-2.6.19/arch/mips/bcm963xx/time.c     1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.19.new/arch/mips/bcm963xx/time.c 2006-12-16 18:46:31.000000000 +0100
 @@ -0,0 +1,114 @@
 +/*
 +<:copyright-gpl
@@ -7812,7 +7853,7 @@ diff -urN linux.old/arch/mips/bcm963xx/time.c linux.dev/arch/mips/bcm963xx/time.
 + * Setup time for Broadcom 963xx MIPS boards
 + */
 +
-+#include <linux/config.h>
++#include <linux/autoconf.h>
 +#include <linux/init.h>
 +#include <linux/kernel_stat.h>
 +#include <linux/sched.h>
@@ -7874,7 +7915,7 @@ diff -urN linux.old/arch/mips/bcm963xx/time.c linux.dev/arch/mips/bcm963xx/time.
 +      irq_enter();
 +      kstat_this_cpu.irqs[irq]++;
 +
-+      timer_interrupt(irq, NULL, regs);
++      timer_interrupt(irq, regs);
 +      irq_exit();
 +      return IRQ_HANDLED;
 +}
@@ -7898,43 +7939,16 @@ diff -urN linux.old/arch/mips/bcm963xx/time.c linux.dev/arch/mips/bcm963xx/time.
 +}
 +
 +
-+void __init brcm_timer_setup(struct irqaction *irq)
++void __init plat_timer_setup(struct irqaction *irq)
 +{
 +      r4k_cur = (read_c0_count() + r4k_offset);
 +      write_c0_compare(r4k_cur);
 +      set_c0_status(IE_IRQ5);
 +}
-diff -urN linux.old/arch/mips/Kconfig linux.dev/arch/mips/Kconfig
---- linux.old/arch/mips/Kconfig        2006-08-25 00:43:39.000000000 +0200
-+++ linux.dev/arch/mips/Kconfig        2006-08-25 01:57:46.000000000 +0200
-@@ -12,6 +12,15 @@
-       prompt "System type"
-       default SGI_IP22
-+config MIPS_BRCM
-+      bool "Support for the Broadcom boards"
-+      select SYS_SUPPORTS_32BIT_KERNEL
-+      select SYS_SUPPORTS_BIG_ENDIAN
-+      select SYS_HAS_CPU_MIPS32_R1
-+      select IRQ_CPU
-+      help
-+       This is a fmaily of boards based on the Broadcom MIPS32
-+
- config MIPS_MTX1
-       bool "4G Systems MTX-1 board"
-       select DMA_NONCOHERENT
-@@ -780,6 +789,7 @@
- endchoice
-+source "arch/mips/bcm963xx/Kconfig"
- source "arch/mips/ddb5xxx/Kconfig"
- source "arch/mips/gt64120/ev64120/Kconfig"
- source "arch/mips/jazz/Kconfig"
-diff -urN linux.old/arch/mips/kernel/cpu-probe.c linux.dev/arch/mips/kernel/cpu-probe.c
---- linux.old/arch/mips/kernel/cpu-probe.c     2006-08-25 00:43:39.000000000 +0200
-+++ linux.dev/arch/mips/kernel/cpu-probe.c     2006-08-25 00:39:38.000000000 +0200
-@@ -568,6 +568,25 @@
+diff -urN linux-2.6.19/arch/mips/kernel/cpu-probe.c linux-2.6.19.new/arch/mips/kernel/cpu-probe.c
+--- linux-2.6.19/arch/mips/kernel/cpu-probe.c  2006-11-29 22:57:37.000000000 +0100
++++ linux-2.6.19.new/arch/mips/kernel/cpu-probe.c      2006-12-16 18:46:31.000000000 +0100
+@@ -602,6 +602,25 @@
                return;
  }
  
@@ -7960,7 +7974,7 @@ diff -urN linux.old/arch/mips/kernel/cpu-probe.c linux.dev/arch/mips/kernel/cpu-
  static inline void cpu_probe_mips(struct cpuinfo_mips *c)
  {
        decode_configs(c);
-@@ -704,6 +723,9 @@
+@@ -736,6 +755,9 @@
        case PRID_COMP_LEGACY:
                cpu_probe_legacy(c);
                break;
@@ -7970,10 +7984,10 @@ diff -urN linux.old/arch/mips/kernel/cpu-probe.c linux.dev/arch/mips/kernel/cpu-
        case PRID_COMP_MIPS:
                cpu_probe_mips(c);
                break;
-diff -urN linux.old/arch/mips/kernel/proc.c linux.dev/arch/mips/kernel/proc.c
---- linux.old/arch/mips/kernel/proc.c  2006-08-25 00:43:39.000000000 +0200
-+++ linux.dev/arch/mips/kernel/proc.c  2006-08-25 00:39:38.000000000 +0200
-@@ -85,6 +85,9 @@
+diff -urN linux-2.6.19/arch/mips/kernel/proc.c linux-2.6.19.new/arch/mips/kernel/proc.c
+--- linux-2.6.19/arch/mips/kernel/proc.c       2006-11-29 22:57:37.000000000 +0100
++++ linux-2.6.19.new/arch/mips/kernel/proc.c   2006-12-16 18:46:31.000000000 +0100
+@@ -84,6 +84,9 @@
        [CPU_VR4181A]   = "NEC VR4181A",
        [CPU_SR71000]   = "Sandcraft SR71000",
        [CPU_PR4450]    = "Philips PR4450",
@@ -7983,29 +7997,10 @@ diff -urN linux.old/arch/mips/kernel/proc.c linux.dev/arch/mips/kernel/proc.c
  };
  
  
-diff -urN linux.old/arch/mips/Makefile linux.dev/arch/mips/Makefile
---- linux.old/arch/mips/Makefile       2006-08-25 00:43:39.000000000 +0200
-+++ linux.dev/arch/mips/Makefile       2006-08-25 15:39:54.000000000 +0200
-@@ -145,6 +145,15 @@
- #
- #
-+# Broadcom board
-+#
-+core-$(CONFIG_MIPS_BRCM)      += arch/mips/bcm963xx/
-+cflags-$(CONFIG_MIPS_BRCM)            += -Iinclude/asm-mips/mach-bcm963xx
-+cflags-$(CONFIG_MIPS_BRCM)            += -Iarch/mips/bcm963xx/include
-+load-$(CONFIG_MIPS_BRCM)      += 0xffffffff80010000
-+
-+
-+#
- # Acer PICA 61, Mips Magnum 4000 and Olivetti M700.
- #
- core-$(CONFIG_MACH_JAZZ)      += arch/mips/jazz/
-diff -urN linux.old/arch/mips/mm/c-r4k.c linux.dev/arch/mips/mm/c-r4k.c
---- linux.old/arch/mips/mm/c-r4k.c     2006-08-25 00:43:39.000000000 +0200
-+++ linux.dev/arch/mips/mm/c-r4k.c     2006-08-25 00:39:38.000000000 +0200
-@@ -914,6 +914,13 @@
+diff -urN linux-2.6.19/arch/mips/mm/c-r4k.c linux-2.6.19.new/arch/mips/mm/c-r4k.c
+--- linux-2.6.19/arch/mips/mm/c-r4k.c  2006-11-29 22:57:37.000000000 +0100
++++ linux-2.6.19.new/arch/mips/mm/c-r4k.c      2006-12-16 18:46:31.000000000 +0100
+@@ -852,6 +852,13 @@
                if (!(config & MIPS_CONF_M))
                        panic("Don't know how to probe P-caches on this cpu.");
  
@@ -8019,10 +8014,10 @@ diff -urN linux.old/arch/mips/mm/c-r4k.c linux.dev/arch/mips/mm/c-r4k.c
                /*
                 * So we seem to be a MIPS32 or MIPS64 CPU
                 * So let's probe the I-cache ...
-diff -urN linux.old/arch/mips/mm/tlbex.c linux.dev/arch/mips/mm/tlbex.c
---- linux.old/arch/mips/mm/tlbex.c     2006-08-25 00:43:39.000000000 +0200
-+++ linux.dev/arch/mips/mm/tlbex.c     2006-08-25 00:39:38.000000000 +0200
-@@ -882,6 +882,9 @@
+diff -urN linux-2.6.19/arch/mips/mm/tlbex.c linux-2.6.19.new/arch/mips/mm/tlbex.c
+--- linux-2.6.19/arch/mips/mm/tlbex.c  2006-11-29 22:57:37.000000000 +0100
++++ linux-2.6.19.new/arch/mips/mm/tlbex.c      2006-12-16 18:46:31.000000000 +0100
+@@ -880,6 +880,9 @@
        case CPU_4KSC:
        case CPU_20KC:
        case CPU_25KF:
@@ -8032,9 +8027,20 @@ diff -urN linux.old/arch/mips/mm/tlbex.c linux.dev/arch/mips/mm/tlbex.c
                tlbw(p);
                break;
  
-diff -urN linux-2.6.17/arch/mips/pci/fixup-bcm96348.c linux-2.6.17-brcm63xx/arch/mips/pci/fixup-bcm96348.c
---- linux-2.6.17/arch/mips/pci/fixup-bcm96348.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.17-brcm63xx/arch/mips/pci/fixup-bcm96348.c        2006-08-29 10:25:22.000000000 +0200
+diff -urN linux-2.6.19/arch/mips/pci/Makefile linux-2.6.19.new/arch/mips/pci/Makefile
+--- linux-2.6.19/arch/mips/pci/Makefile        2006-11-29 22:57:37.000000000 +0100
++++ linux-2.6.19.new/arch/mips/pci/Makefile    2006-12-16 18:48:18.000000000 +0100
+@@ -17,6 +17,7 @@
+ obj-$(CONFIG_PCI_VR41XX)      += ops-vr41xx.o pci-vr41xx.o
+ obj-$(CONFIG_NEC_CMBVR4133)   += fixup-vr4133.o
+ obj-$(CONFIG_MARKEINS)                += ops-emma2rh.o pci-emma2rh.o fixup-emma2rh.o
++obj-$(CONFIG_BCM_PCI)         += fixup-bcm96348.o pci-bcm96348.o ops-bcm96348.o
+ #
+ # These are still pretty much in the old state, watch, go blind.
+diff -urN linux-2.6.19/arch/mips/pci/fixup-bcm96348.c linux-2.6.19.new/arch/mips/pci/fixup-bcm96348.c
+--- linux-2.6.19/arch/mips/pci/fixup-bcm96348.c        1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.19.new/arch/mips/pci/fixup-bcm96348.c    2006-12-16 18:46:31.000000000 +0100
 @@ -0,0 +1,93 @@
 +/*
 +<:copyright-gpl
@@ -8129,20 +8135,9 @@ diff -urN linux-2.6.17/arch/mips/pci/fixup-bcm96348.c linux-2.6.17-brcm63xx/arch
 +    { PCI_FIXUP_FINAL, PCI_ANY_ID, PCI_ANY_ID, bcm96348_fixup },
 +    {0}
 +};*/
-diff -urN linux.old/arch/mips/pci/Makefile linux.dev/arch/mips/pci/Makefile
---- linux.old/arch/mips/pci/Makefile   2006-08-25 00:43:29.000000000 +0200
-+++ linux.dev/arch/mips/pci/Makefile   2006-08-25 00:39:38.000000000 +0200
-@@ -18,6 +18,7 @@
- obj-$(CONFIG_MIPS_TX3927)     += ops-tx3927.o
- obj-$(CONFIG_PCI_VR41XX)      += ops-vr41xx.o pci-vr41xx.o
- obj-$(CONFIG_NEC_CMBVR4133)   += fixup-vr4133.o
-+obj-$(CONFIG_BCM_PCI)         += fixup-bcm96348.o pci-bcm96348.o ops-bcm96348.o
- #
- # These are still pretty much in the old state, watch, go blind.
-diff -urN linux.old/arch/mips/pci/ops-bcm96348.c linux.dev/arch/mips/pci/ops-bcm96348.c
---- linux.old/arch/mips/pci/ops-bcm96348.c     1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/arch/mips/pci/ops-bcm96348.c     2006-08-25 00:39:38.000000000 +0200
+diff -urN linux-2.6.19/arch/mips/pci/ops-bcm96348.c linux-2.6.19.new/arch/mips/pci/ops-bcm96348.c
+--- linux-2.6.19/arch/mips/pci/ops-bcm96348.c  1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.19.new/arch/mips/pci/ops-bcm96348.c      2006-12-16 18:46:31.000000000 +0100
 @@ -0,0 +1,276 @@
 +/*
 +<:copyright-gpl 
@@ -8420,9 +8415,9 @@ diff -urN linux.old/arch/mips/pci/ops-bcm96348.c linux.dev/arch/mips/pci/ops-bcm
 +    .read   = bcm96348_pcibios_read,
 +    .write  = bcm96348_pcibios_write
 +};
-diff -urN linux-2.6.17/arch/mips/pci/pci-bcm96348.c linux-2.6.17-brcm63xx/arch/mips/pci/pci-bcm96348.c
---- linux-2.6.17/arch/mips/pci/pci-bcm96348.c   1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.17-brcm63xx/arch/mips/pci/pci-bcm96348.c  2006-08-29 10:25:13.000000000 +0200
+diff -urN linux-2.6.19/arch/mips/pci/pci-bcm96348.c linux-2.6.19.new/arch/mips/pci/pci-bcm96348.c
+--- linux-2.6.19/arch/mips/pci/pci-bcm96348.c  1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.19.new/arch/mips/pci/pci-bcm96348.c      2006-12-16 18:46:31.000000000 +0100
 @@ -0,0 +1,54 @@
 +/*
 +<:copyright-gpl
@@ -8478,9 +8473,17 @@ diff -urN linux-2.6.17/arch/mips/pci/pci-bcm96348.c linux-2.6.17-brcm63xx/arch/m
 +}
 +
 +arch_initcall(bcm96348_pci_init);
-diff -urN linux.old/drivers/serial/bcm63xx_cons.c linux.dev/drivers/serial/bcm63xx_cons.c
---- linux.old/drivers/serial/bcm63xx_cons.c    1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/drivers/serial/bcm63xx_cons.c    2006-08-25 15:37:34.000000000 +0200
+diff -urN linux-2.6.19/drivers/serial/Makefile linux-2.6.19.new/drivers/serial/Makefile
+--- linux-2.6.19/drivers/serial/Makefile       2006-11-29 22:57:37.000000000 +0100
++++ linux-2.6.19.new/drivers/serial/Makefile   2006-12-16 18:49:17.000000000 +0100
+@@ -56,3 +56,4 @@
+ obj-$(CONFIG_SERIAL_SGI_IOC3) += ioc3_serial.o
+ obj-$(CONFIG_SERIAL_ATMEL) += atmel_serial.o
+ obj-$(CONFIG_SERIAL_NETX) += netx-serial.o
++obj-$(CONFIG_BCM_SERIAL) += bcm63xx_cons.o
+diff -urN linux-2.6.19/drivers/serial/bcm63xx_cons.c linux-2.6.19.new/drivers/serial/bcm63xx_cons.c
+--- linux-2.6.19/drivers/serial/bcm63xx_cons.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.19.new/drivers/serial/bcm63xx_cons.c     2006-12-16 18:46:31.000000000 +0100
 @@ -0,0 +1,1049 @@
 +/*
 +<:copyright-gpl 
@@ -8732,7 +8735,7 @@ diff -urN linux.old/drivers/serial/bcm63xx_cons.c linux.dev/drivers/serial/bcm63
 + * ------------------------------------------------------------
 + */
 +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0)
-+static irqreturn_t bcm_interrupt (int irq, void * dev, struct pt_regs * regs)
++static irqreturn_t bcm_interrupt (int irq, void * dev)
 +#else
 +static void bcm_interrupt (int irq, void * dev, struct pt_regs * regs)
 +#endif
@@ -9531,20 +9534,12 @@ diff -urN linux.old/drivers/serial/bcm63xx_cons.c linux.dev/drivers/serial/bcm63
 +}
 +
 +console_initcall(bcm63xx_console_init);
-diff -urN linux.old/drivers/serial/Makefile linux.dev/drivers/serial/Makefile
---- linux.old/drivers/serial/Makefile  2006-06-18 03:49:35.000000000 +0200
-+++ linux.dev/drivers/serial/Makefile  2006-08-25 15:38:44.000000000 +0200
-@@ -55,3 +55,4 @@
- obj-$(CONFIG_SERIAL_SGI_IOC4) += ioc4_serial.o
- obj-$(CONFIG_SERIAL_SGI_IOC3) += ioc3_serial.o
- obj-$(CONFIG_SERIAL_AT91) += at91_serial.o
-+obj-$(CONFIG_BCM_SERIAL) += bcm63xx_cons.o
-diff -urN linux.old/include/asm-mips/bootinfo.h linux.dev/include/asm-mips/bootinfo.h
---- linux.old/include/asm-mips/bootinfo.h      2006-08-25 00:43:22.000000000 +0200
-+++ linux.dev/include/asm-mips/bootinfo.h      2006-08-25 00:39:38.000000000 +0200
-@@ -218,6 +218,14 @@
- #define MACH_GROUP_TITAN       22     /* PMC-Sierra Titan             */
- #define  MACH_TITAN_YOSEMITE  1       /* PMC-Sierra Yosemite          */
+diff -urN linux-2.6.19/include/asm-mips/bootinfo.h linux-2.6.19.new/include/asm-mips/bootinfo.h
+--- linux-2.6.19/include/asm-mips/bootinfo.h   2006-11-29 22:57:37.000000000 +0100
++++ linux-2.6.19.new/include/asm-mips/bootinfo.h       2006-12-16 18:46:31.000000000 +0100
+@@ -212,6 +212,14 @@
+ #define MACH_GROUP_NEC_EMMA2RH 25     /* NEC EMMA2RH (was 23)         */
+ #define  MACH_NEC_MARKEINS    0       /* NEC EMMA2RH Mark-eins        */
  
 +/*
 + * Valid machtype for group BRCM
@@ -9557,9 +9552,9 @@ diff -urN linux.old/include/asm-mips/bootinfo.h linux.dev/include/asm-mips/booti
  #define CL_SIZE                       COMMAND_LINE_SIZE
  
  const char *get_system_type(void);
-diff -urN linux.old/include/asm-mips/cpu.h linux.dev/include/asm-mips/cpu.h
---- linux.old/include/asm-mips/cpu.h   2006-08-25 00:43:22.000000000 +0200
-+++ linux.dev/include/asm-mips/cpu.h   2006-08-25 00:39:38.000000000 +0200
+diff -urN linux-2.6.19/include/asm-mips/cpu.h linux-2.6.19.new/include/asm-mips/cpu.h
+--- linux-2.6.19/include/asm-mips/cpu.h        2006-11-29 22:57:37.000000000 +0100
++++ linux-2.6.19.new/include/asm-mips/cpu.h    2006-12-16 18:46:31.000000000 +0100
 @@ -103,6 +103,13 @@
  
  #define PRID_IMP_SR71000        0x0400
@@ -9586,61 +9581,50 @@ diff -urN linux.old/include/asm-mips/cpu.h linux.dev/include/asm-mips/cpu.h
  
  /*
   * ISA Level encodings
-diff -urN linux.old/include/asm-mips/mach-bcm963xx/cpu-feature-overrides.h linux.dev/include/asm-mips/mach-bcm963xx/cpu-feature-overrides.h
---- linux.old/include/asm-mips/mach-bcm963xx/cpu-feature-overrides.h   1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/include/asm-mips/mach-bcm963xx/cpu-feature-overrides.h   2006-08-25 11:27:40.000000000 +0200
+diff -urN linux-2.6.19/include/asm-mips/mach-bcm963xx/cpu-feature-overrides.h linux-2.6.19.new/include/asm-mips/mach-bcm963xx/cpu-feature-overrides.h
+--- linux-2.6.19/include/asm-mips/mach-bcm963xx/cpu-feature-overrides.h        1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.19.new/include/asm-mips/mach-bcm963xx/cpu-feature-overrides.h    2006-12-16 18:52:30.000000000 +0100
 @@ -0,0 +1,36 @@
 +#ifndef __ASM_MACH_BCM963XX_CPU_FEATURE_OVERRIDES_H
 +#define __ASM_MACH_BCM963XX_CPU_FEATURE_OVERRIDES_H
 +
-+#define cpu_has_tlb                   1
-+#define cpu_has_4kex                  4
-+#define cpu_has_4ktlb                 8
-+#define cpu_has_fpu                   0
-+#define cpu_has_32fpr                 0
++#define cpu_has_tlb                           1
++#define cpu_has_4kex                          4
++#define cpu_has_4ktlb                         8
++#define cpu_has_fpu                           0
++#define cpu_has_32fpr                         0
 +#define cpu_has_counter                       0x40
-+#define cpu_has_watch                 0
-+#define cpu_has_mips16                        0
-+#define cpu_has_divec                 0x200
-+#define cpu_has_vce                   0
-+#define cpu_has_cache_cdex_p          0
-+#define cpu_has_cache_cdex_s          0
-+#define cpu_has_prefetch              0x40000
-+#define cpu_has_mcheck                        0x2000
-+#define cpu_has_ejtag                 0x4000
-+#define cpu_has_llsc                  0x10000
-+#define cpu_has_vtag_icache           0
-+#define cpu_has_dc_aliases            0
-+#define cpu_has_ic_fills_f_dc         0
-+
-+#define cpu_has_nofpuex                       0
-+#define cpu_has_64bits                        0
-+#define cpu_has_64bit_zero_reg                0
-+#define cpu_has_64bit_gp_regs         0
-+#define cpu_has_64bit_addresses               0
-+
-+#define cpu_has_subset_pcaches                0
-+
-+#define cpu_dcache_line_size()                16
-+#define cpu_icache_line_size()                16
-+#define cpu_scache_line_size()                0
++#define cpu_has_watch                         0
++#define cpu_has_mips16                        0
++#define cpu_has_divec                         0x200
++#define cpu_has_vce                           0
++#define cpu_has_cache_cdex_p                  0
++#define cpu_has_cache_cdex_s                  0
++#define cpu_has_prefetch                      0x40000
++#define cpu_has_mcheck                        0x2000
++#define cpu_has_ejtag                         0x4000
++#define cpu_has_llsc                          0x10000
++#define cpu_has_vtag_icache                   0
++#define cpu_has_dc_aliases                    0
++#define cpu_has_ic_fills_f_dc                 0
++
++#define cpu_has_nofpuex                       0
++#define cpu_has_64bits                        0
++#define cpu_has_64bit_zero_reg                0
++#define cpu_has_64bit_gp_regs                 0
++#define cpu_has_64bit_addresses               0
++
++#define cpu_has_subset_pcaches                0
++
++#define cpu_dcache_line_size()                16
++#define cpu_icache_line_size()                16
++#define cpu_scache_line_size()                0
 +
 +#endif /* __ASM_MACH_BCM963XX_CPU_FEATURE_OVERRIDES_H */
-diff -urN linux.old/include/asm-mips/mach-generic/param.h linux.dev/include/asm-mips/mach-generic/param.h
---- linux.old/include/asm-mips/mach-generic/param.h    2006-08-25 00:43:22.000000000 +0200
-+++ linux.dev/include/asm-mips/mach-generic/param.h    2006-08-25 00:39:38.000000000 +0200
-@@ -8,6 +8,6 @@
- #ifndef __ASM_MACH_GENERIC_PARAM_H
- #define __ASM_MACH_GENERIC_PARAM_H
--#define HZ            1000            /* Internal kernel timer frequency */
-+#define HZ            200             /* Internal kernel timer frequency */
- #endif /* __ASM_MACH_GENERIC_PARAM_H */
-diff -urN linux.old/include/asm-mips/module.h linux.dev/include/asm-mips/module.h
---- linux.old/include/asm-mips/module.h        2006-08-25 00:43:22.000000000 +0200
-+++ linux.dev/include/asm-mips/module.h        2006-08-25 00:39:38.000000000 +0200
-@@ -113,6 +113,12 @@
+diff -urN linux-2.6.19/include/asm-mips/module.h linux-2.6.19.new/include/asm-mips/module.h
+--- linux-2.6.19/include/asm-mips/module.h     2006-11-29 22:57:37.000000000 +0100
++++ linux-2.6.19.new/include/asm-mips/module.h 2006-12-16 19:03:22.000000000 +0100
+@@ -112,6 +112,12 @@
  #define MODULE_PROC_FAMILY "RM9000 "
  #elif defined CONFIG_CPU_SB1
  #define MODULE_PROC_FAMILY "SB1 "
@@ -9653,4 +9637,3 @@ diff -urN linux.old/include/asm-mips/module.h linux.dev/include/asm-mips/module.
  #else
  #error MODULE_PROC_FAMILY undefined for your processor configuration
  #endif
-
This page took 0.091126 seconds and 4 git commands to generate.