-Index: linux-2.6.25.4/arch/mips/bcm47xx/irq.c
-===================================================================
---- linux-2.6.25.4.orig/arch/mips/bcm47xx/irq.c
-+++ linux-2.6.25.4/arch/mips/bcm47xx/irq.c
+--- a/arch/mips/bcm47xx/irq.c
++++ b/arch/mips/bcm47xx/irq.c
@@ -1,5 +1,6 @@
/*
* Copyright (C) 2004 Florian Schirmer <jolt@tuxbox.org>
void plat_irq_dispatch(void)
{
u32 cause;
-@@ -53,3 +63,19 @@ void __init arch_init_irq(void)
+@@ -53,3 +63,19 @@
{
mips_cpu_irq_init();
}
+
+ return res;
+}
-Index: linux-2.6.25.4/arch/mips/bcm47xx/setup.c
-===================================================================
---- linux-2.6.25.4.orig/arch/mips/bcm47xx/setup.c
-+++ linux-2.6.25.4/arch/mips/bcm47xx/setup.c
+--- a/arch/mips/bcm47xx/setup.c
++++ b/arch/mips/bcm47xx/setup.c
@@ -2,7 +2,7 @@
* Copyright (C) 2004 Florian Schirmer <jolt@tuxbox.org>
* Copyright (C) 2005 Waldemar Brodkorb <wbx@openwrt.org>
while (1)
cpu_relax();
}
-@@ -50,12 +79,13 @@ static void bcm47xx_machine_halt(void)
+@@ -50,12 +79,13 @@
{
/* Disable interrupts and watchdog and spin forever */
local_irq_disable();
{
int i = 0;
-@@ -72,52 +102,141 @@ static void str2eaddr(char *str, char *d
+@@ -72,52 +102,141 @@
}
}
+ return 0;
+}
+device_initcall(bcm47xx_register_gpiodev);
-Index: linux-2.6.25.4/arch/mips/bcm47xx/time.c
-===================================================================
---- linux-2.6.25.4.orig/arch/mips/bcm47xx/time.c
-+++ linux-2.6.25.4/arch/mips/bcm47xx/time.c
+--- a/arch/mips/bcm47xx/time.c
++++ b/arch/mips/bcm47xx/time.c
@@ -22,11 +22,17 @@
* 675 Mass Ave, Cambridge, MA 02139, USA.
*/
void __init plat_time_init(void)
{
-Index: linux-2.6.25.4/arch/mips/bcm47xx/nvram.c
-===================================================================
---- linux-2.6.25.4.orig/arch/mips/bcm47xx/nvram.c
-+++ linux-2.6.25.4/arch/mips/bcm47xx/nvram.c
+--- a/arch/mips/bcm47xx/nvram.c
++++ b/arch/mips/bcm47xx/nvram.c
@@ -24,10 +24,10 @@
#include <asm/io.h>
#include <asm/uaccess.h>
static char nvram_buf[NVRAM_SPACE];
static int cfe_env;
-@@ -36,7 +36,7 @@ extern char *cfe_env_get(char *nv_buf, c
+@@ -36,7 +36,7 @@
/* Probe for NVRAM header */
static void __init early_nvram_init(void)
{
struct nvram_header *header;
int i;
u32 base, lim, off;
-Index: linux-2.6.25.4/arch/mips/bcm47xx/Makefile
-===================================================================
---- linux-2.6.25.4.orig/arch/mips/bcm47xx/Makefile
-+++ linux-2.6.25.4/arch/mips/bcm47xx/Makefile
+--- a/arch/mips/bcm47xx/Makefile
++++ b/arch/mips/bcm47xx/Makefile
@@ -3,4 +3,4 @@
# under Linux.
#
-obj-y := gpio.o irq.o prom.o serial.o setup.o time.o wgt634u.o
+obj-y := cfe_env.o gpio.o irq.o nvram.o prom.o serial.o setup.o time.o wgt634u.o
-Index: linux-2.6.25.4/arch/mips/Kconfig
-===================================================================
---- linux-2.6.25.4.orig/arch/mips/Kconfig
-+++ linux-2.6.25.4/arch/mips/Kconfig
-@@ -54,6 +54,7 @@ config BCM47XX
+--- a/arch/mips/Kconfig
++++ b/arch/mips/Kconfig
+@@ -54,6 +54,7 @@
select SSB_DRIVER_MIPS
select SSB_DRIVER_EXTIF
select SSB_DRIVER_PCICORE