Browse Source

refresh kernel patches

SVN-Revision: 11214
Gabor Juhos 18 years ago
parent
commit
8932b397b8

+ 69 - 69
target/linux/brcm-2.4/patches/001-bcm47xx.patch

@@ -1,8 +1,8 @@
 Index: linux-2.4.35.4/arch/mips/config-shared.in
 ===================================================================
---- linux-2.4.35.4.orig/arch/mips/config-shared.in	2007-12-15 05:19:53.151449966 +0100
-+++ linux-2.4.35.4/arch/mips/config-shared.in	2007-12-15 05:20:13.936634447 +0100
-@@ -208,6 +208,14 @@
+--- linux-2.4.35.4.orig/arch/mips/config-shared.in
++++ linux-2.4.35.4/arch/mips/config-shared.in
+@@ -208,6 +208,14 @@ if [ "$CONFIG_SIBYTE_SB1xxx_SOC" = "y" ]
     fi
     define_bool CONFIG_MIPS_RTC y
  fi
@@ -17,7 +17,7 @@ Index: linux-2.4.35.4/arch/mips/config-shared.in
  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
-@@ -229,6 +237,11 @@
+@@ -229,6 +237,11 @@ define_bool CONFIG_RWSEM_GENERIC_SPINLOC
  define_bool CONFIG_RWSEM_XCHGADD_ALGORITHM n
  
  #
@@ -29,7 +29,7 @@ Index: linux-2.4.35.4/arch/mips/config-shared.in
  # Select some configuration options automatically based on user selections.
  #
  if [ "$CONFIG_ACER_PICA_61" = "y" ]; then
-@@ -554,6 +567,12 @@
+@@ -554,6 +567,12 @@ if [ "$CONFIG_SIBYTE_SB1xxx_SOC" = "y" ]
     define_bool CONFIG_SWAP_IO_SPACE_L y
     define_bool CONFIG_BOOT_ELF32 y
  fi
@@ -42,7 +42,7 @@ Index: linux-2.4.35.4/arch/mips/config-shared.in
  if [ "$CONFIG_SNI_RM200_PCI" = "y" ]; then
     define_bool CONFIG_ARC32 y
     define_bool CONFIG_ARC_MEMORY y
-@@ -1042,7 +1061,11 @@
+@@ -1042,7 +1061,11 @@ comment 'Kernel hacking'
  
  bool 'Are you using a crosscompiler' CONFIG_CROSSCOMPILE
  bool 'Enable run-time debugging' CONFIG_RUNTIME_DEBUG
@@ -57,9 +57,9 @@ Index: linux-2.4.35.4/arch/mips/config-shared.in
     define_bool CONFIG_DEBUG_INFO y
 Index: linux-2.4.35.4/arch/mips/kernel/cpu-probe.c
 ===================================================================
---- linux-2.4.35.4.orig/arch/mips/kernel/cpu-probe.c	2007-12-15 05:19:44.862977633 +0100
-+++ linux-2.4.35.4/arch/mips/kernel/cpu-probe.c	2007-12-15 05:20:13.944634901 +0100
-@@ -162,7 +162,7 @@
+--- linux-2.4.35.4.orig/arch/mips/kernel/cpu-probe.c
++++ linux-2.4.35.4/arch/mips/kernel/cpu-probe.c
+@@ -162,7 +162,7 @@ static inline int __cpu_has_fpu(void)
  
  static inline void cpu_probe_legacy(struct cpuinfo_mips *c)
  {
@@ -68,7 +68,7 @@ Index: linux-2.4.35.4/arch/mips/kernel/cpu-probe.c
  	case PRID_IMP_R2000:
  		c->cputype = CPU_R2000;
  		c->isa_level = MIPS_CPU_ISA_I;
-@@ -172,7 +172,7 @@
+@@ -172,7 +172,7 @@ static inline void cpu_probe_legacy(stru
  		c->tlbsize = 64;
  		break;
  	case PRID_IMP_R3000:
@@ -77,7 +77,7 @@ Index: linux-2.4.35.4/arch/mips/kernel/cpu-probe.c
  			if (cpu_has_confreg())
  				c->cputype = CPU_R3081E;
  			else
-@@ -187,12 +187,12 @@
+@@ -187,12 +187,12 @@ static inline void cpu_probe_legacy(stru
  		break;
  	case PRID_IMP_R4000:
  		if (read_c0_config() & CONF_SC) {
@@ -92,7 +92,7 @@ Index: linux-2.4.35.4/arch/mips/kernel/cpu-probe.c
  				c->cputype = CPU_R4400SC;
  			else
  				c->cputype = CPU_R4000SC;
-@@ -438,7 +438,7 @@
+@@ -438,7 +438,7 @@ static inline void decode_config1(struct
  static inline void cpu_probe_mips(struct cpuinfo_mips *c)
  {
  	decode_config1(c);
@@ -101,7 +101,7 @@ Index: linux-2.4.35.4/arch/mips/kernel/cpu-probe.c
  	case PRID_IMP_4KC:
  		c->cputype = CPU_4KC;
  		c->isa_level = MIPS_CPU_ISA_M32;
-@@ -479,10 +479,10 @@
+@@ -479,10 +479,10 @@ static inline void cpu_probe_alchemy(str
  {
  	decode_config1(c);
  	c->options |= MIPS_CPU_PREFETCH;
@@ -114,7 +114,7 @@ Index: linux-2.4.35.4/arch/mips/kernel/cpu-probe.c
  		case 0:
   			c->cputype = CPU_AU1000;
  			break;
-@@ -510,10 +510,34 @@
+@@ -510,10 +510,34 @@ static inline void cpu_probe_alchemy(str
  	}
  }
  
@@ -150,7 +150,7 @@ Index: linux-2.4.35.4/arch/mips/kernel/cpu-probe.c
  	case PRID_IMP_SB1:
  		c->cputype = CPU_SB1;
  		c->isa_level = MIPS_CPU_ISA_M64;
-@@ -535,7 +559,7 @@
+@@ -535,7 +559,7 @@ static inline void cpu_probe_sibyte(stru
  static inline void cpu_probe_sandcraft(struct cpuinfo_mips *c)
  {
  	decode_config1(c);
@@ -159,7 +159,7 @@ Index: linux-2.4.35.4/arch/mips/kernel/cpu-probe.c
  	case PRID_IMP_SR71000:
  		c->cputype = CPU_SR71000;
  		c->isa_level = MIPS_CPU_ISA_M64;
-@@ -560,7 +584,7 @@
+@@ -560,7 +584,7 @@ __init void cpu_probe(void)
  	c->cputype	= CPU_UNKNOWN;
  
  	c->processor_id = read_c0_prid();
@@ -168,7 +168,7 @@ Index: linux-2.4.35.4/arch/mips/kernel/cpu-probe.c
  
  	case PRID_COMP_LEGACY:
  		cpu_probe_legacy(c);
-@@ -571,6 +595,9 @@
+@@ -571,6 +595,9 @@ __init void cpu_probe(void)
  	case PRID_COMP_ALCHEMY:
  		cpu_probe_alchemy(c);
  		break;
@@ -180,8 +180,8 @@ Index: linux-2.4.35.4/arch/mips/kernel/cpu-probe.c
  		break;
 Index: linux-2.4.35.4/arch/mips/kernel/head.S
 ===================================================================
---- linux-2.4.35.4.orig/arch/mips/kernel/head.S	2007-12-15 05:19:44.866977862 +0100
-+++ linux-2.4.35.4/arch/mips/kernel/head.S	2007-12-15 05:20:13.944634901 +0100
+--- linux-2.4.35.4.orig/arch/mips/kernel/head.S
++++ linux-2.4.35.4/arch/mips/kernel/head.S
 @@ -28,12 +28,20 @@
  #include <asm/mipsregs.h>
  #include <asm/stackframe.h>
@@ -206,9 +206,9 @@ Index: linux-2.4.35.4/arch/mips/kernel/head.S
  		EXPORT(stext)
 Index: linux-2.4.35.4/arch/mips/kernel/proc.c
 ===================================================================
---- linux-2.4.35.4.orig/arch/mips/kernel/proc.c	2007-12-15 05:19:36.358492990 +0100
-+++ linux-2.4.35.4/arch/mips/kernel/proc.c	2007-12-15 05:20:13.944634901 +0100
-@@ -78,9 +78,10 @@
+--- linux-2.4.35.4.orig/arch/mips/kernel/proc.c
++++ linux-2.4.35.4/arch/mips/kernel/proc.c
+@@ -78,9 +78,10 @@ static const char *cpu_name[] = {
  	[CPU_AU1550]	"Au1550",
  	[CPU_24K]	"MIPS 24K",
  	[CPU_AU1200]	"Au1200",
@@ -222,9 +222,9 @@ Index: linux-2.4.35.4/arch/mips/kernel/proc.c
  	unsigned int version = current_cpu_data.processor_id;
 Index: linux-2.4.35.4/arch/mips/kernel/setup.c
 ===================================================================
---- linux-2.4.35.4.orig/arch/mips/kernel/setup.c	2007-12-15 05:19:44.866977862 +0100
-+++ linux-2.4.35.4/arch/mips/kernel/setup.c	2007-12-15 05:20:13.944634901 +0100
-@@ -493,6 +493,7 @@
+--- linux-2.4.35.4.orig/arch/mips/kernel/setup.c
++++ linux-2.4.35.4/arch/mips/kernel/setup.c
+@@ -493,6 +493,7 @@ void __init setup_arch(char **cmdline_p)
  	void swarm_setup(void);
  	void hp_setup(void);
  	void au1x00_setup(void);
@@ -232,7 +232,7 @@ Index: linux-2.4.35.4/arch/mips/kernel/setup.c
  	void frame_info_init(void);
  
  	frame_info_init();
-@@ -691,6 +692,11 @@
+@@ -691,6 +692,11 @@ void __init setup_arch(char **cmdline_p)
                  pmc_yosemite_setup();
                  break;
  #endif
@@ -246,9 +246,9 @@ Index: linux-2.4.35.4/arch/mips/kernel/setup.c
  	}
 Index: linux-2.4.35.4/arch/mips/kernel/traps.c
 ===================================================================
---- linux-2.4.35.4.orig/arch/mips/kernel/traps.c	2007-12-15 05:19:44.870978088 +0100
-+++ linux-2.4.35.4/arch/mips/kernel/traps.c	2007-12-15 05:20:13.944634901 +0100
-@@ -920,6 +920,7 @@
+--- linux-2.4.35.4.orig/arch/mips/kernel/traps.c
++++ linux-2.4.35.4/arch/mips/kernel/traps.c
+@@ -920,6 +920,7 @@ void __init per_cpu_trap_init(void)
  void __init trap_init(void)
  {
  	extern char except_vec1_generic;
@@ -256,7 +256,7 @@ Index: linux-2.4.35.4/arch/mips/kernel/traps.c
  	extern char except_vec3_generic, except_vec3_r4000;
  	extern char except_vec_ejtag_debug;
  	extern char except_vec4;
-@@ -927,6 +928,7 @@
+@@ -927,6 +928,7 @@ void __init trap_init(void)
  
  	/* Copy the generic exception handler code to it's final destination. */
  	memcpy((void *)(KSEG0 + 0x80), &except_vec1_generic, 0x80);
@@ -264,7 +264,7 @@ Index: linux-2.4.35.4/arch/mips/kernel/traps.c
  
  	/*
  	 * Setup default vectors
-@@ -985,6 +987,12 @@
+@@ -985,6 +987,12 @@ void __init trap_init(void)
  	set_except_vector(13, handle_tr);
  	set_except_vector(22, handle_mdmx);
  
@@ -279,9 +279,9 @@ Index: linux-2.4.35.4/arch/mips/kernel/traps.c
  
 Index: linux-2.4.35.4/arch/mips/Makefile
 ===================================================================
---- linux-2.4.35.4.orig/arch/mips/Makefile	2007-12-15 05:19:51.215339635 +0100
-+++ linux-2.4.35.4/arch/mips/Makefile	2007-12-15 05:20:13.948635130 +0100
-@@ -726,6 +726,19 @@
+--- linux-2.4.35.4.orig/arch/mips/Makefile
++++ linux-2.4.35.4/arch/mips/Makefile
+@@ -726,6 +726,19 @@ LOADADDR      += 0x80020000
  endif
  
  #
@@ -301,7 +301,7 @@ Index: linux-2.4.35.4/arch/mips/Makefile
  # Choosing incompatible machines durings configuration will result in
  # error messages during linking.  Select a default linkscript if
  # none has been choosen above.
-@@ -779,6 +792,7 @@
+@@ -779,6 +792,7 @@ archclean:
  	$(MAKE) -C arch/$(ARCH)/tools clean
  	$(MAKE) -C arch/mips/baget clean
  	$(MAKE) -C arch/mips/lasat clean
@@ -311,9 +311,9 @@ Index: linux-2.4.35.4/arch/mips/Makefile
  	@$(MAKEBOOT) mrproper
 Index: linux-2.4.35.4/arch/mips/mm/c-r4k.c
 ===================================================================
---- linux-2.4.35.4.orig/arch/mips/mm/c-r4k.c	2007-12-15 05:19:44.874978317 +0100
-+++ linux-2.4.35.4/arch/mips/mm/c-r4k.c	2007-12-15 05:20:13.948635130 +0100
-@@ -1118,3 +1118,47 @@
+--- linux-2.4.35.4.orig/arch/mips/mm/c-r4k.c
++++ linux-2.4.35.4/arch/mips/mm/c-r4k.c
+@@ -1118,3 +1118,47 @@ void __init ld_mmu_r4xx0(void)
  	build_clear_page();
  	build_copy_page();
  }
@@ -363,9 +363,9 @@ Index: linux-2.4.35.4/arch/mips/mm/c-r4k.c
 +
 Index: linux-2.4.35.4/arch/mips/pci/Makefile
 ===================================================================
---- linux-2.4.35.4.orig/arch/mips/pci/Makefile	2007-12-15 05:19:36.398495270 +0100
-+++ linux-2.4.35.4/arch/mips/pci/Makefile	2007-12-15 05:20:13.948635130 +0100
-@@ -13,7 +13,9 @@
+--- linux-2.4.35.4.orig/arch/mips/pci/Makefile
++++ linux-2.4.35.4/arch/mips/pci/Makefile
+@@ -13,7 +13,9 @@ obj-$(CONFIG_MIPS_GT64120)	+= ops-gt6412
  obj-$(CONFIG_MIPS_MSC)		+= ops-msc.o
  obj-$(CONFIG_MIPS_NILE4)	+= ops-nile4.o
  obj-$(CONFIG_SNI_RM200_PCI)	+= ops-sni.o
@@ -377,9 +377,9 @@ Index: linux-2.4.35.4/arch/mips/pci/Makefile
  include $(TOPDIR)/Rules.make
 Index: linux-2.4.35.4/drivers/char/serial.c
 ===================================================================
---- linux-2.4.35.4.orig/drivers/char/serial.c	2007-12-15 05:20:00.539871010 +0100
-+++ linux-2.4.35.4/drivers/char/serial.c	2007-12-15 05:20:13.952635360 +0100
-@@ -444,6 +444,10 @@
+--- linux-2.4.35.4.orig/drivers/char/serial.c
++++ linux-2.4.35.4/drivers/char/serial.c
+@@ -444,6 +444,10 @@ static _INLINE_ unsigned int serial_in(s
  		return inb(info->port+1);
  #endif
  	case SERIAL_IO_MEM:
@@ -390,7 +390,7 @@ Index: linux-2.4.35.4/drivers/char/serial.c
  		return readb((unsigned long) info->iomem_base +
  			     (offset<<info->iomem_reg_shift));
  	default:
-@@ -464,6 +468,9 @@
+@@ -464,6 +468,9 @@ static _INLINE_ void serial_out(struct a
  	case SERIAL_IO_MEM:
  		writeb(value, (unsigned long) info->iomem_base +
  			      (offset<<info->iomem_reg_shift));
@@ -400,7 +400,7 @@ Index: linux-2.4.35.4/drivers/char/serial.c
  		break;
  	default:
  		outb(value, info->port+offset);
-@@ -1728,7 +1735,7 @@
+@@ -1728,7 +1735,7 @@ static void change_speed(struct async_st
  			/* Special case since 134 is really 134.5 */
  			quot = (2*baud_base / 269);
  		else if (baud)
@@ -409,7 +409,7 @@ Index: linux-2.4.35.4/drivers/char/serial.c
  	}
  	/* If the quotient is zero refuse the change */
  	if (!quot && old_termios) {
-@@ -1745,12 +1752,12 @@
+@@ -1745,12 +1752,12 @@ static void change_speed(struct async_st
  				/* Special case since 134 is really 134.5 */
  				quot = (2*baud_base / 269);
  			else if (baud)
@@ -424,7 +424,7 @@ Index: linux-2.4.35.4/drivers/char/serial.c
  	/*
  	 * Work around a bug in the Oxford Semiconductor 952 rev B
  	 * chip which causes it to seriously miscalculate baud rates
-@@ -5994,6 +6001,13 @@
+@@ -5994,6 +6001,13 @@ static int __init serial_console_setup(s
  	 *	Divisor, bytesize and parity
  	 */
  	state = rs_table + co->index;
@@ -438,7 +438,7 @@ Index: linux-2.4.35.4/drivers/char/serial.c
  	if (doflow)
  		state->flags |= ASYNC_CONS_FLOW;
  	info = &async_sercons;
-@@ -6007,7 +6021,7 @@
+@@ -6007,7 +6021,7 @@ static int __init serial_console_setup(s
  	info->io_type = state->io_type;
  	info->iomem_base = state->iomem_base;
  	info->iomem_reg_shift = state->iomem_reg_shift;
@@ -449,8 +449,8 @@ Index: linux-2.4.35.4/drivers/char/serial.c
  	cval >>= 8;
 Index: linux-2.4.35.4/drivers/net/Makefile
 ===================================================================
---- linux-2.4.35.4.orig/drivers/net/Makefile	2007-12-15 05:20:10.804455954 +0100
-+++ linux-2.4.35.4/drivers/net/Makefile	2007-12-15 05:20:13.952635360 +0100
+--- linux-2.4.35.4.orig/drivers/net/Makefile
++++ linux-2.4.35.4/drivers/net/Makefile
 @@ -3,6 +3,8 @@
  # Makefile for the Linux network (ethercard) device drivers.
  #
@@ -462,9 +462,9 @@ Index: linux-2.4.35.4/drivers/net/Makefile
  obj-n           :=
 Index: linux-2.4.35.4/drivers/parport/Config.in
 ===================================================================
---- linux-2.4.35.4.orig/drivers/parport/Config.in	2007-12-15 05:19:36.422496639 +0100
-+++ linux-2.4.35.4/drivers/parport/Config.in	2007-12-15 05:20:13.956635587 +0100
-@@ -11,6 +11,7 @@
+--- linux-2.4.35.4.orig/drivers/parport/Config.in
++++ linux-2.4.35.4/drivers/parport/Config.in
+@@ -11,6 +11,7 @@ comment 'Parallel port support'
  tristate 'Parallel port support' CONFIG_PARPORT
  if [ "$CONFIG_PARPORT" != "n" ]; then
     dep_tristate '  PC-style hardware' CONFIG_PARPORT_PC $CONFIG_PARPORT
@@ -474,9 +474,9 @@ Index: linux-2.4.35.4/drivers/parport/Config.in
           define_tristate CONFIG_PARPORT_PC_CML1 m
 Index: linux-2.4.35.4/drivers/parport/Makefile
 ===================================================================
---- linux-2.4.35.4.orig/drivers/parport/Makefile	2007-12-15 05:19:36.430497094 +0100
-+++ linux-2.4.35.4/drivers/parport/Makefile	2007-12-15 05:20:13.956635587 +0100
-@@ -22,6 +22,7 @@
+--- linux-2.4.35.4.orig/drivers/parport/Makefile
++++ linux-2.4.35.4/drivers/parport/Makefile
+@@ -22,6 +22,7 @@ endif
  
  obj-$(CONFIG_PARPORT)		+= parport.o
  obj-$(CONFIG_PARPORT_PC)	+= parport_pc.o
@@ -486,8 +486,8 @@ Index: linux-2.4.35.4/drivers/parport/Makefile
  obj-$(CONFIG_PARPORT_MFC3)	+= parport_mfc3.o
 Index: linux-2.4.35.4/include/asm-mips/bootinfo.h
 ===================================================================
---- linux-2.4.35.4.orig/include/asm-mips/bootinfo.h	2007-12-15 05:19:45.026986980 +0100
-+++ linux-2.4.35.4/include/asm-mips/bootinfo.h	2007-12-15 05:20:13.956635587 +0100
+--- linux-2.4.35.4.orig/include/asm-mips/bootinfo.h
++++ linux-2.4.35.4/include/asm-mips/bootinfo.h
 @@ -37,6 +37,7 @@
  #define MACH_GROUP_HP_LJ       20 /* Hewlett Packard LaserJet               */
  #define MACH_GROUP_LASAT       21
@@ -514,8 +514,8 @@ Index: linux-2.4.35.4/include/asm-mips/bootinfo.h
  #define	MACH_TITAN_YOSEMITE	1 	/* PMC-Sierra Yosemite */
 Index: linux-2.4.35.4/include/asm-mips/cpu.h
 ===================================================================
---- linux-2.4.35.4.orig/include/asm-mips/cpu.h	2007-12-15 05:19:36.442497779 +0100
-+++ linux-2.4.35.4/include/asm-mips/cpu.h	2007-12-15 05:20:13.956635587 +0100
+--- linux-2.4.35.4.orig/include/asm-mips/cpu.h
++++ linux-2.4.35.4/include/asm-mips/cpu.h
 @@ -22,6 +22,11 @@
     spec.
  */
@@ -566,9 +566,9 @@ Index: linux-2.4.35.4/include/asm-mips/cpu.h
   * ISA Level encodings
 Index: linux-2.4.35.4/include/asm-mips/r4kcache.h
 ===================================================================
---- linux-2.4.35.4.orig/include/asm-mips/r4kcache.h	2007-12-15 05:19:36.450498234 +0100
-+++ linux-2.4.35.4/include/asm-mips/r4kcache.h	2007-12-15 05:20:13.960635812 +0100
-@@ -567,4 +567,17 @@
+--- linux-2.4.35.4.orig/include/asm-mips/r4kcache.h
++++ linux-2.4.35.4/include/asm-mips/r4kcache.h
+@@ -567,4 +567,17 @@ static inline void blast_scache128_page_
  			cache128_unroll32(addr|ws,Index_Writeback_Inv_SD);
  }
  
@@ -588,8 +588,8 @@ Index: linux-2.4.35.4/include/asm-mips/r4kcache.h
  #endif /* __ASM_R4KCACHE_H */
 Index: linux-2.4.35.4/include/asm-mips/serial.h
 ===================================================================
---- linux-2.4.35.4.orig/include/asm-mips/serial.h	2007-12-15 05:19:36.458498689 +0100
-+++ linux-2.4.35.4/include/asm-mips/serial.h	2007-12-15 05:20:13.960635812 +0100
+--- linux-2.4.35.4.orig/include/asm-mips/serial.h
++++ linux-2.4.35.4/include/asm-mips/serial.h
 @@ -223,6 +223,13 @@
  #define TXX927_SERIAL_PORT_DEFNS
  #endif
@@ -614,9 +614,9 @@ Index: linux-2.4.35.4/include/asm-mips/serial.h
  	EV96100_SERIAL_PORT_DEFNS		\
 Index: linux-2.4.35.4/init/do_mounts.c
 ===================================================================
---- linux-2.4.35.4.orig/init/do_mounts.c	2007-12-15 05:19:48.667194423 +0100
-+++ linux-2.4.35.4/init/do_mounts.c	2007-12-15 05:20:13.960635812 +0100
-@@ -254,7 +254,13 @@
+--- linux-2.4.35.4.orig/init/do_mounts.c
++++ linux-2.4.35.4/init/do_mounts.c
+@@ -254,7 +254,13 @@ static struct dev_name_struct {
  	{ "ftlb", 0x2c08 },
  	{ "ftlc", 0x2c10 },
  	{ "ftld", 0x2c18 },

+ 44 - 44
target/linux/brcm-2.4/patches/003-bcm47xx_cache_fixes.patch

@@ -1,8 +1,8 @@
 Index: linux-2.4.35.4/arch/mips/kernel/entry.S
 ===================================================================
---- linux-2.4.35.4.orig/arch/mips/kernel/entry.S	2007-12-15 05:19:36.266487747 +0100
-+++ linux-2.4.35.4/arch/mips/kernel/entry.S	2007-12-15 05:20:14.372659296 +0100
-@@ -100,6 +100,10 @@
+--- linux-2.4.35.4.orig/arch/mips/kernel/entry.S
++++ linux-2.4.35.4/arch/mips/kernel/entry.S
+@@ -100,6 +100,10 @@ END(except_vec1_generic)
  		 * and R4400 SC and MC versions.
  		 */
  NESTED(except_vec3_generic, 0, sp)
@@ -15,8 +15,8 @@ Index: linux-2.4.35.4/arch/mips/kernel/entry.S
  #endif
 Index: linux-2.4.35.4/arch/mips/mm/c-r4k.c
 ===================================================================
---- linux-2.4.35.4.orig/arch/mips/mm/c-r4k.c	2007-12-15 05:20:13.948635130 +0100
-+++ linux-2.4.35.4/arch/mips/mm/c-r4k.c	2007-12-15 05:20:14.376659523 +0100
+--- linux-2.4.35.4.orig/arch/mips/mm/c-r4k.c
++++ linux-2.4.35.4/arch/mips/mm/c-r4k.c
 @@ -14,6 +14,12 @@
  #include <linux/mm.h>
  #include <linux/bitops.h>
@@ -30,7 +30,7 @@ Index: linux-2.4.35.4/arch/mips/mm/c-r4k.c
  #include <asm/bcache.h>
  #include <asm/bootinfo.h>
  #include <asm/cacheops.h>
-@@ -40,6 +46,7 @@
+@@ -40,6 +46,7 @@ static struct bcache_ops no_sc_ops = {
  	.bc_inv = (void *)no_sc_noop
  };
  
@@ -38,7 +38,7 @@ Index: linux-2.4.35.4/arch/mips/mm/c-r4k.c
  struct bcache_ops *bcops = &no_sc_ops;
  
  #define cpu_is_r4600_v1_x()	((read_c0_prid() & 0xfffffff0) == 0x2010)
-@@ -64,8 +71,10 @@
+@@ -64,8 +71,10 @@ static inline void r4k_blast_dcache_page
  static inline void r4k_blast_dcache_page_setup(void)
  {
  	unsigned long dc_lsize = current_cpu_data.dcache.linesz;
@@ -51,7 +51,7 @@ Index: linux-2.4.35.4/arch/mips/mm/c-r4k.c
  		r4k_blast_dcache_page = blast_dcache16_page;
  	else if (dc_lsize == 32)
  		r4k_blast_dcache_page = r4k_blast_dcache_page_dc32;
-@@ -77,7 +86,9 @@
+@@ -77,7 +86,9 @@ static void r4k_blast_dcache_page_indexe
  {
  	unsigned long dc_lsize = current_cpu_data.dcache.linesz;
  
@@ -62,7 +62,7 @@ Index: linux-2.4.35.4/arch/mips/mm/c-r4k.c
  		r4k_blast_dcache_page_indexed = blast_dcache16_page_indexed;
  	else if (dc_lsize == 32)
  		r4k_blast_dcache_page_indexed = blast_dcache32_page_indexed;
-@@ -89,7 +100,9 @@
+@@ -89,7 +100,9 @@ static inline void r4k_blast_dcache_setu
  {
  	unsigned long dc_lsize = current_cpu_data.dcache.linesz;
  
@@ -73,7 +73,7 @@ Index: linux-2.4.35.4/arch/mips/mm/c-r4k.c
  		r4k_blast_dcache = blast_dcache16;
  	else if (dc_lsize == 32)
  		r4k_blast_dcache = blast_dcache32;
-@@ -266,6 +279,7 @@
+@@ -266,6 +279,7 @@ static void r4k___flush_cache_all(void)
  	r4k_blast_dcache();
  	r4k_blast_icache();
  
@@ -81,7 +81,7 @@ Index: linux-2.4.35.4/arch/mips/mm/c-r4k.c
  	switch (current_cpu_data.cputype) {
  	case CPU_R4000SC:
  	case CPU_R4000MC:
-@@ -304,10 +318,10 @@
+@@ -304,10 +318,10 @@ static void r4k_flush_cache_mm(struct mm
  	 * Kludge alert.  For obscure reasons R4000SC and R4400SC go nuts if we
  	 * only flush the primary caches but R10000 and R12000 behave sane ...
  	 */
@@ -94,7 +94,7 @@ Index: linux-2.4.35.4/arch/mips/mm/c-r4k.c
  		r4k_blast_scache();
  }
  
-@@ -383,12 +397,15 @@
+@@ -383,12 +397,15 @@ static void r4k_flush_icache_range(unsig
  	unsigned long ic_lsize = current_cpu_data.icache.linesz;
  	unsigned long addr, aend;
  
@@ -112,7 +112,7 @@ Index: linux-2.4.35.4/arch/mips/mm/c-r4k.c
  
  			while (1) {
  				/* Hit_Writeback_Inv_D */
-@@ -403,8 +420,6 @@
+@@ -403,8 +420,6 @@ static void r4k_flush_icache_range(unsig
  	if (end - start > icache_size)
  		r4k_blast_icache();
  	else {
@@ -121,7 +121,7 @@ Index: linux-2.4.35.4/arch/mips/mm/c-r4k.c
  		while (1) {
  			/* Hit_Invalidate_I */
  			protected_flush_icache_line(addr);
-@@ -413,6 +428,9 @@
+@@ -413,6 +428,9 @@ static void r4k_flush_icache_range(unsig
  			addr += ic_lsize;
  		}
  	}
@@ -131,7 +131,7 @@ Index: linux-2.4.35.4/arch/mips/mm/c-r4k.c
  }
  
  /*
-@@ -443,7 +461,8 @@
+@@ -443,7 +461,8 @@ static void r4k_flush_icache_page(struct
  	if (cpu_has_subset_pcaches) {
  		unsigned long addr = (unsigned long) page_address(page);
  
@@ -141,7 +141,7 @@ Index: linux-2.4.35.4/arch/mips/mm/c-r4k.c
  		ClearPageDcacheDirty(page);
  
  		return;
-@@ -451,6 +470,7 @@
+@@ -451,6 +470,7 @@ static void r4k_flush_icache_page(struct
  
  	if (!cpu_has_ic_fills_f_dc) {
  		unsigned long addr = (unsigned long) page_address(page);
@@ -149,7 +149,7 @@ Index: linux-2.4.35.4/arch/mips/mm/c-r4k.c
  		r4k_blast_dcache_page(addr);
  		ClearPageDcacheDirty(page);
  	}
-@@ -477,7 +497,7 @@
+@@ -477,7 +497,7 @@ static void r4k_dma_cache_wback_inv(unsi
  	/* Catch bad driver code */
  	BUG_ON(size == 0);
  
@@ -158,7 +158,7 @@ Index: linux-2.4.35.4/arch/mips/mm/c-r4k.c
  		unsigned long sc_lsize = current_cpu_data.scache.linesz;
  
  		if (size >= scache_size) {
-@@ -509,6 +529,8 @@
+@@ -509,6 +529,8 @@ static void r4k_dma_cache_wback_inv(unsi
  		R4600_HIT_CACHEOP_WAR_IMPL;
  		a = addr & ~(dc_lsize - 1);
  		end = (addr + size - 1) & ~(dc_lsize - 1);
@@ -167,7 +167,7 @@ Index: linux-2.4.35.4/arch/mips/mm/c-r4k.c
  		while (1) {
  			flush_dcache_line(a);	/* Hit_Writeback_Inv_D */
  			if (a == end)
-@@ -527,7 +549,7 @@
+@@ -527,7 +549,7 @@ static void r4k_dma_cache_inv(unsigned l
  	/* Catch bad driver code */
  	BUG_ON(size == 0);
  
@@ -176,7 +176,7 @@ Index: linux-2.4.35.4/arch/mips/mm/c-r4k.c
  		unsigned long sc_lsize = current_cpu_data.scache.linesz;
  
  		if (size >= scache_size) {
-@@ -554,6 +576,8 @@
+@@ -554,6 +576,8 @@ static void r4k_dma_cache_inv(unsigned l
  		R4600_HIT_CACHEOP_WAR_IMPL;
  		a = addr & ~(dc_lsize - 1);
  		end = (addr + size - 1) & ~(dc_lsize - 1);
@@ -185,7 +185,7 @@ Index: linux-2.4.35.4/arch/mips/mm/c-r4k.c
  		while (1) {
  			flush_dcache_line(a);	/* Hit_Writeback_Inv_D */
  			if (a == end)
-@@ -577,6 +601,8 @@
+@@ -577,6 +601,8 @@ static void r4k_flush_cache_sigtramp(uns
  	unsigned long dc_lsize = current_cpu_data.dcache.linesz;
  
  	R4600_HIT_CACHEOP_WAR_IMPL;
@@ -194,7 +194,7 @@ Index: linux-2.4.35.4/arch/mips/mm/c-r4k.c
  	protected_writeback_dcache_line(addr & ~(dc_lsize - 1));
  	protected_flush_icache_line(addr & ~(ic_lsize - 1));
  	if (MIPS4K_ICACHE_REFILL_WAR) {
-@@ -986,10 +1012,12 @@
+@@ -986,10 +1012,12 @@ static void __init setup_scache(void)
  	case CPU_R4000MC:
  	case CPU_R4400SC:
  	case CPU_R4400MC:
@@ -211,7 +211,7 @@ Index: linux-2.4.35.4/arch/mips/mm/c-r4k.c
  		break;
  
  	case CPU_R10000:
-@@ -1041,6 +1069,19 @@
+@@ -1041,6 +1069,19 @@ static void __init setup_scache(void)
  static inline void coherency_setup(void)
  {
  	change_c0_config(CONF_CM_CMASK, CONF_CM_DEFAULT);
@@ -231,7 +231,7 @@ Index: linux-2.4.35.4/arch/mips/mm/c-r4k.c
  
  	/*
  	 * c0_status.cu=0 specifies that updates by the sc instruction use
-@@ -1073,6 +1114,12 @@
+@@ -1073,6 +1114,12 @@ void __init ld_mmu_r4xx0(void)
  	memcpy((void *)(KSEG0 + 0x100), &except_vec2_generic, 0x80);
  	memcpy((void *)(KSEG1 + 0x100), &except_vec2_generic, 0x80);
  
@@ -246,8 +246,8 @@ Index: linux-2.4.35.4/arch/mips/mm/c-r4k.c
  
 Index: linux-2.4.35.4/arch/mips/mm/tlbex-mips32.S
 ===================================================================
---- linux-2.4.35.4.orig/arch/mips/mm/tlbex-mips32.S	2007-12-15 05:19:44.874978317 +0100
-+++ linux-2.4.35.4/arch/mips/mm/tlbex-mips32.S	2007-12-15 05:20:14.380659748 +0100
+--- linux-2.4.35.4.orig/arch/mips/mm/tlbex-mips32.S
++++ linux-2.4.35.4/arch/mips/mm/tlbex-mips32.S
 @@ -90,6 +90,9 @@
  	.set	noat
  	LEAF(except_vec0_r4000)
@@ -260,8 +260,8 @@ Index: linux-2.4.35.4/arch/mips/mm/tlbex-mips32.S
  	la	k0, pgd_current
 Index: linux-2.4.35.4/include/asm-mips/r4kcache.h
 ===================================================================
---- linux-2.4.35.4.orig/include/asm-mips/r4kcache.h	2007-12-15 05:20:13.960635812 +0100
-+++ linux-2.4.35.4/include/asm-mips/r4kcache.h	2007-12-15 05:20:14.384659977 +0100
+--- linux-2.4.35.4.orig/include/asm-mips/r4kcache.h
++++ linux-2.4.35.4/include/asm-mips/r4kcache.h
 @@ -15,6 +15,18 @@
  #include <asm/asm.h>
  #include <asm/cacheops.h>
@@ -309,7 +309,7 @@ Index: linux-2.4.35.4/include/asm-mips/r4kcache.h
  }
  
  static inline void flush_scache_line_indexed(unsigned long addr)
-@@ -47,6 +72,7 @@
+@@ -47,6 +72,7 @@ static inline void flush_icache_line(uns
  
  static inline void flush_dcache_line(unsigned long addr)
  {
@@ -317,7 +317,7 @@ Index: linux-2.4.35.4/include/asm-mips/r4kcache.h
  	cache_op(Hit_Writeback_Inv_D, addr);
  }
  
-@@ -91,6 +117,7 @@
+@@ -91,6 +117,7 @@ static inline void protected_flush_icach
   */
  static inline void protected_writeback_dcache_line(unsigned long addr)
  {
@@ -325,7 +325,7 @@ Index: linux-2.4.35.4/include/asm-mips/r4kcache.h
  	__asm__ __volatile__(
  		".set noreorder\n\t"
  		".set mips3\n"
-@@ -138,6 +165,62 @@
+@@ -138,6 +165,62 @@ static inline void invalidate_tcache_pag
  		: "r" (base),						\
  		  "i" (op));
  
@@ -388,7 +388,7 @@ Index: linux-2.4.35.4/include/asm-mips/r4kcache.h
  static inline void blast_dcache16(void)
  {
  	unsigned long start = KSEG0;
-@@ -148,8 +231,9 @@
+@@ -148,8 +231,9 @@ static inline void blast_dcache16(void)
  	unsigned long ws, addr;
  
  	for (ws = 0; ws < ws_end; ws += ws_inc) 
@@ -399,7 +399,7 @@ Index: linux-2.4.35.4/include/asm-mips/r4kcache.h
  }
  
  static inline void blast_dcache16_page(unsigned long page)
-@@ -173,8 +257,9 @@
+@@ -173,8 +257,9 @@ static inline void blast_dcache16_page_i
  	unsigned long ws, addr;
  
  	for (ws = 0; ws < ws_end; ws += ws_inc) 
@@ -410,7 +410,7 @@ Index: linux-2.4.35.4/include/asm-mips/r4kcache.h
  }
  
  static inline void blast_icache16(void)
-@@ -196,6 +281,7 @@
+@@ -196,6 +281,7 @@ static inline void blast_icache16_page(u
  	unsigned long start = page;
  	unsigned long end = start + PAGE_SIZE;
  
@@ -418,7 +418,7 @@ Index: linux-2.4.35.4/include/asm-mips/r4kcache.h
  	do {
  		cache16_unroll32(start,Hit_Invalidate_I);
  		start += 0x200;
-@@ -281,6 +367,7 @@
+@@ -281,6 +367,7 @@ static inline void blast_scache16_page_i
  		: "r" (base),						\
  		  "i" (op));
  
@@ -426,7 +426,7 @@ Index: linux-2.4.35.4/include/asm-mips/r4kcache.h
  static inline void blast_dcache32(void)
  {
  	unsigned long start = KSEG0;
-@@ -291,8 +378,9 @@
+@@ -291,8 +378,9 @@ static inline void blast_dcache32(void)
  	unsigned long ws, addr;
  
  	for (ws = 0; ws < ws_end; ws += ws_inc) 
@@ -437,7 +437,7 @@ Index: linux-2.4.35.4/include/asm-mips/r4kcache.h
  }
  
  static inline void blast_dcache32_page(unsigned long page)
-@@ -316,8 +404,9 @@
+@@ -316,8 +404,9 @@ static inline void blast_dcache32_page_i
  	unsigned long ws, addr;
  
  	for (ws = 0; ws < ws_end; ws += ws_inc) 
@@ -448,7 +448,7 @@ Index: linux-2.4.35.4/include/asm-mips/r4kcache.h
  }
  
  static inline void blast_icache32(void)
-@@ -339,6 +428,7 @@
+@@ -339,6 +428,7 @@ static inline void blast_icache32_page(u
  	unsigned long start = page;
  	unsigned long end = start + PAGE_SIZE;
  
@@ -456,7 +456,7 @@ Index: linux-2.4.35.4/include/asm-mips/r4kcache.h
  	do {
  		cache32_unroll32(start,Hit_Invalidate_I);
  		start += 0x400;
-@@ -443,6 +533,7 @@
+@@ -443,6 +533,7 @@ static inline void blast_icache64_page(u
  	unsigned long start = page;
  	unsigned long end = start + PAGE_SIZE;
  
@@ -466,8 +466,8 @@ Index: linux-2.4.35.4/include/asm-mips/r4kcache.h
  		start += 0x800;
 Index: linux-2.4.35.4/include/asm-mips/stackframe.h
 ===================================================================
---- linux-2.4.35.4.orig/include/asm-mips/stackframe.h	2007-12-15 05:19:36.298489571 +0100
-+++ linux-2.4.35.4/include/asm-mips/stackframe.h	2007-12-15 05:20:14.388660206 +0100
+--- linux-2.4.35.4.orig/include/asm-mips/stackframe.h
++++ linux-2.4.35.4/include/asm-mips/stackframe.h
 @@ -209,6 +209,20 @@
  
  #endif
@@ -491,9 +491,9 @@ Index: linux-2.4.35.4/include/asm-mips/stackframe.h
  
 Index: linux-2.4.35.4/mm/memory.c
 ===================================================================
---- linux-2.4.35.4.orig/mm/memory.c	2007-12-15 05:19:36.306490026 +0100
-+++ linux-2.4.35.4/mm/memory.c	2007-12-15 05:20:14.388660206 +0100
-@@ -927,6 +927,7 @@
+--- linux-2.4.35.4.orig/mm/memory.c
++++ linux-2.4.35.4/mm/memory.c
+@@ -927,6 +927,7 @@ static inline void break_cow(struct vm_a
  	flush_page_to_ram(new_page);
  	flush_cache_page(vma, address);
  	establish_pte(vma, address, page_table, pte_mkwrite(pte_mkdirty(mk_pte(new_page, vma->vm_page_prot))));

+ 11 - 11
target/linux/brcm-2.4/patches/004-flash.patch

@@ -1,7 +1,7 @@
 Index: linux-2.4.35.4/drivers/mtd/devices/Config.in
 ===================================================================
---- linux-2.4.35.4.orig/drivers/mtd/devices/Config.in	2007-12-15 05:19:36.210484556 +0100
-+++ linux-2.4.35.4/drivers/mtd/devices/Config.in	2007-12-15 05:20:14.656675480 +0100
+--- linux-2.4.35.4.orig/drivers/mtd/devices/Config.in
++++ linux-2.4.35.4/drivers/mtd/devices/Config.in
 @@ -5,6 +5,7 @@
  mainmenu_option next_comment
  
@@ -12,8 +12,8 @@ Index: linux-2.4.35.4/drivers/mtd/devices/Config.in
     bool '    PMC551 256M DRAM Bugfix' CONFIG_MTD_PMC551_BUGFIX
 Index: linux-2.4.35.4/drivers/mtd/devices/Makefile
 ===================================================================
---- linux-2.4.35.4.orig/drivers/mtd/devices/Makefile	2007-12-15 05:19:36.218485012 +0100
-+++ linux-2.4.35.4/drivers/mtd/devices/Makefile	2007-12-15 05:20:14.660675705 +0100
+--- linux-2.4.35.4.orig/drivers/mtd/devices/Makefile
++++ linux-2.4.35.4/drivers/mtd/devices/Makefile
 @@ -3,6 +3,8 @@
  #
  # $Id: Makefile,v 1.4 2001/06/26 21:10:05 spse Exp $
@@ -23,7 +23,7 @@ Index: linux-2.4.35.4/drivers/mtd/devices/Makefile
  O_TARGET	:= devlink.o
  
  #                       *** BIG UGLY NOTE ***
-@@ -12,6 +14,7 @@
+@@ -12,6 +14,7 @@ O_TARGET	:= devlink.o
  # here where previously there was none.  We now have to ensure that
  # doc200[01].o are linked before docprobe.o
  
@@ -33,9 +33,9 @@ Index: linux-2.4.35.4/drivers/mtd/devices/Makefile
  obj-$(CONFIG_MTD_DOC2001)	+= doc2001.o
 Index: linux-2.4.35.4/drivers/mtd/maps/Config.in
 ===================================================================
---- linux-2.4.35.4.orig/drivers/mtd/maps/Config.in	2007-12-15 05:19:44.950982647 +0100
-+++ linux-2.4.35.4/drivers/mtd/maps/Config.in	2007-12-15 05:20:14.664675934 +0100
-@@ -48,6 +48,7 @@
+--- linux-2.4.35.4.orig/drivers/mtd/maps/Config.in
++++ linux-2.4.35.4/drivers/mtd/maps/Config.in
+@@ -48,6 +48,7 @@ if [ "$CONFIG_PPC" = "y" ]; then
  fi
  
  if [ "$CONFIG_MIPS" = "y" ]; then
@@ -45,8 +45,8 @@ Index: linux-2.4.35.4/drivers/mtd/maps/Config.in
     dep_tristate '  Pb1100 MTD support' CONFIG_MTD_PB1100 $CONFIG_MIPS_PB1100
 Index: linux-2.4.35.4/drivers/mtd/maps/Makefile
 ===================================================================
---- linux-2.4.35.4.orig/drivers/mtd/maps/Makefile	2007-12-15 05:19:44.954982876 +0100
-+++ linux-2.4.35.4/drivers/mtd/maps/Makefile	2007-12-15 05:20:14.664675934 +0100
+--- linux-2.4.35.4.orig/drivers/mtd/maps/Makefile
++++ linux-2.4.35.4/drivers/mtd/maps/Makefile
 @@ -3,6 +3,8 @@
  #
  # $Id: Makefile,v 1.37 2003/01/24 14:26:38 dwmw2 Exp $
@@ -56,7 +56,7 @@ Index: linux-2.4.35.4/drivers/mtd/maps/Makefile
  BELOW25		:= $(shell echo $(PATCHLEVEL) | sed s/[1234]/y/)
  
  ifeq ($(BELOW25),y)
-@@ -10,6 +12,7 @@
+@@ -10,6 +12,7 @@ O_TARGET	:= mapslink.o
  endif
  
  # Chip mappings

+ 3 - 3
target/linux/brcm-2.4/patches/005-bluetooth_sco_buffer_align.patch

@@ -1,8 +1,8 @@
 Index: linux-2.4.35.4/drivers/bluetooth/hci_usb.c
 ===================================================================
---- linux-2.4.35.4.orig/drivers/bluetooth/hci_usb.c	2007-12-15 05:19:36.182482961 +0100
-+++ linux-2.4.35.4/drivers/bluetooth/hci_usb.c	2007-12-15 05:20:14.964693031 +0100
-@@ -259,6 +259,9 @@
+--- linux-2.4.35.4.orig/drivers/bluetooth/hci_usb.c
++++ linux-2.4.35.4/drivers/bluetooth/hci_usb.c
+@@ -259,6 +259,9 @@ static int hci_usb_isoc_rx_submit(struct
  	void *buf;
  
  	mtu  = husb->isoc_in_ep->wMaxPacketSize;

+ 3 - 3
target/linux/brcm-2.4/patches/006-ide_workaround.patch

@@ -1,8 +1,8 @@
 Index: linux-2.4.35.4/arch/mips/lib/ide-std.c
 ===================================================================
---- linux-2.4.35.4.orig/arch/mips/lib/ide-std.c	2007-12-15 05:19:36.146480908 +0100
-+++ linux-2.4.35.4/arch/mips/lib/ide-std.c	2007-12-15 05:20:15.796740447 +0100
-@@ -31,12 +31,14 @@
+--- linux-2.4.35.4.orig/arch/mips/lib/ide-std.c
++++ linux-2.4.35.4/arch/mips/lib/ide-std.c
+@@ -31,12 +31,14 @@ static int std_ide_default_irq(ide_ioreg
  static ide_ioreg_t std_ide_default_io_base(int index)
  {
  	switch (index) {

+ 35 - 35
target/linux/brcm-2.4/patches/008-b44_bcm47xx_support.patch

@@ -1,7 +1,7 @@
 Index: linux-2.4.35.4/drivers/net/b44.c
 ===================================================================
---- linux-2.4.35.4.orig/drivers/net/b44.c	2007-12-15 05:19:36.094477944 +0100
-+++ linux-2.4.35.4/drivers/net/b44.c	2007-12-15 05:20:16.020753214 +0100
+--- linux-2.4.35.4.orig/drivers/net/b44.c
++++ linux-2.4.35.4/drivers/net/b44.c
 @@ -1,7 +1,9 @@
  /* b44.c: Broadcom 4400 device driver.
   *
@@ -53,7 +53,7 @@ Index: linux-2.4.35.4/drivers/net/b44.c
  #define DRV_MODULE_NAME		"b44"
  #define PFX DRV_MODULE_NAME	": "
  #define DRV_MODULE_VERSION	"0.93"
-@@ -75,7 +112,7 @@
+@@ -75,7 +110,7 @@ static char version[] __devinitdata =
  	DRV_MODULE_NAME ".c:v" DRV_MODULE_VERSION " (" DRV_MODULE_RELDATE ")\n";
  
  MODULE_AUTHOR("David S. Miller ([email protected])");
@@ -62,7 +62,7 @@ Index: linux-2.4.35.4/drivers/net/b44.c
  MODULE_LICENSE("GPL");
  MODULE_PARM(b44_debug, "i");
  MODULE_PARM_DESC(b44_debug, "B44 bitmapped debugging message enable value");
-@@ -89,6 +126,8 @@
+@@ -89,6 +124,8 @@ static struct pci_device_id b44_pci_tbl[
  	  PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL },
  	{ PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_BCM4401B1,
  	  PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL },
@@ -71,7 +71,7 @@ Index: linux-2.4.35.4/drivers/net/b44.c
  	{ }	/* terminate list with empty entry */
  };
  
-@@ -113,11 +152,13 @@
+@@ -113,11 +150,13 @@ static int b44_wait_bit(struct b44 *bp, 
  		udelay(10);
  	}
  	if (i == timeout) {
@@ -85,7 +85,7 @@ Index: linux-2.4.35.4/drivers/net/b44.c
  		return -ENODEV;
  	}
  	return 0;
-@@ -236,6 +277,8 @@
+@@ -236,6 +275,8 @@ static void ssb_core_reset(struct b44 *b
  	udelay(1);
  }
  
@@ -94,7 +94,7 @@ Index: linux-2.4.35.4/drivers/net/b44.c
  static int ssb_core_unit(struct b44 *bp)
  {
  #if 0
-@@ -258,6 +301,9 @@
+@@ -258,6 +299,9 @@ static int ssb_core_unit(struct b44 *bp)
  		break;
  	};
  #endif
@@ -104,7 +104,7 @@ Index: linux-2.4.35.4/drivers/net/b44.c
  	return 0;
  }
  
-@@ -267,6 +313,28 @@
+@@ -267,6 +311,28 @@ static int ssb_is_core_up(struct b44 *bp
  		== SBTMSLOW_CLOCK);
  }
  
@@ -133,7 +133,7 @@ Index: linux-2.4.35.4/drivers/net/b44.c
  static void __b44_cam_write(struct b44 *bp, unsigned char *data, int index)
  {
  	u32 val;
-@@ -287,7 +355,7 @@
+@@ -287,7 +353,7 @@ static void __b44_cam_write(struct b44 *
  
  static inline void __b44_disable_ints(struct b44 *bp)
  {
@@ -142,7 +142,7 @@ Index: linux-2.4.35.4/drivers/net/b44.c
  }
  
  static void b44_disable_ints(struct b44 *bp)
-@@ -303,14 +371,14 @@
+@@ -303,14 +369,14 @@ static void b44_enable_ints(struct b44 *
  	bw32(B44_IMASK, bp->imask);
  }
  
@@ -159,7 +159,7 @@ Index: linux-2.4.35.4/drivers/net/b44.c
  			     (reg << MDIO_DATA_RA_SHIFT) |
  			     (MDIO_TA_VALID << MDIO_DATA_TA_SHIFT)));
  	err = b44_wait_bit(bp, B44_EMAC_ISTAT, EMAC_INT_MII, 100, 0);
-@@ -319,23 +387,42 @@
+@@ -319,23 +385,42 @@ static int b44_readphy(struct b44 *bp, i
  	return err;
  }
  
@@ -204,7 +204,7 @@ Index: linux-2.4.35.4/drivers/net/b44.c
  	err = b44_writephy(bp, MII_BMCR, BMCR_RESET);
  	if (err)
  		return err;
-@@ -406,6 +493,23 @@
+@@ -406,6 +491,23 @@ static int b44_setup_phy(struct b44 *bp)
  	u32 val;
  	int err;
  
@@ -228,7 +228,7 @@ Index: linux-2.4.35.4/drivers/net/b44.c
  	if ((err = b44_readphy(bp, B44_MII_ALEDCTRL, &val)) != 0)
  		goto out;
  	if ((err = b44_writephy(bp, B44_MII_ALEDCTRL,
-@@ -498,6 +602,19 @@
+@@ -498,6 +600,19 @@ static void b44_check_phy(struct b44 *bp
  {
  	u32 bmsr, aux;
  
@@ -248,7 +248,7 @@ Index: linux-2.4.35.4/drivers/net/b44.c
  	if (!b44_readphy(bp, MII_BMSR, &bmsr) &&
  	    !b44_readphy(bp, B44_MII_AUXCTRL, &aux) &&
  	    (bmsr != 0xffff)) {
-@@ -765,6 +882,25 @@
+@@ -765,6 +880,25 @@ static int b44_rx(struct b44 *bp, int bu
  	return received;
  }
  
@@ -274,7 +274,7 @@ Index: linux-2.4.35.4/drivers/net/b44.c
  static int b44_poll(struct net_device *netdev, int *budget)
  {
  	struct b44 *bp = netdev->priv;
-@@ -772,13 +908,13 @@
+@@ -772,13 +906,13 @@ static int b44_poll(struct net_device *n
  
  	spin_lock_irq(&bp->lock);
  
@@ -290,7 +290,7 @@ Index: linux-2.4.35.4/drivers/net/b44.c
  	done = 1;
  	if (bp->istat & ISTAT_RX) {
  		int orig_budget = *budget;
-@@ -796,24 +932,18 @@
+@@ -796,24 +930,18 @@ static int b44_poll(struct net_device *n
  			done = 0;
  	}
  
@@ -319,7 +319,7 @@ Index: linux-2.4.35.4/drivers/net/b44.c
  static irqreturn_t b44_interrupt(int irq, void *dev_id, struct pt_regs *regs)
  {
  	struct net_device *dev = dev_id;
-@@ -832,6 +962,18 @@
+@@ -832,6 +960,18 @@ static irqreturn_t b44_interrupt(int irq
  	 */
  	istat &= imask;
  	if (istat) {
@@ -338,7 +338,7 @@ Index: linux-2.4.35.4/drivers/net/b44.c
  		handled = 1;
  		if (netif_rx_schedule_prep(dev)) {
  			/* NOTE: These writes are posted by the readback of
-@@ -848,6 +990,7 @@
+@@ -848,6 +988,7 @@ static irqreturn_t b44_interrupt(int irq
  		bw32(B44_ISTAT, istat);
  		br32(B44_ISTAT);
  	}
@@ -346,7 +346,7 @@ Index: linux-2.4.35.4/drivers/net/b44.c
  	spin_unlock_irqrestore(&bp->lock, flags);
  	return IRQ_RETVAL(handled);
  }
-@@ -859,16 +1002,7 @@
+@@ -859,16 +1000,7 @@ static void b44_tx_timeout(struct net_de
  	printk(KERN_ERR PFX "%s: transmit timed out, resetting\n",
  	       dev->name);
  
@@ -364,7 +364,7 @@ Index: linux-2.4.35.4/drivers/net/b44.c
  	netif_wake_queue(dev);
  }
  
-@@ -1092,6 +1226,8 @@
+@@ -1092,6 +1224,8 @@ static void b44_clear_stats(struct b44 *
  /* bp->lock is held. */
  static void b44_chip_reset(struct b44 *bp)
  {
@@ -373,7 +373,7 @@ Index: linux-2.4.35.4/drivers/net/b44.c
  	if (ssb_is_core_up(bp)) {
  		bw32(B44_RCV_LAZY, 0);
  		bw32(B44_ENET_CTRL, ENET_CTRL_DISABLE);
-@@ -1105,9 +1241,10 @@
+@@ -1105,9 +1239,10 @@ static void b44_chip_reset(struct b44 *b
  		bw32(B44_DMARX_CTRL, 0);
  		bp->rx_prod = bp->rx_cons = 0;
  	} else {
@@ -387,7 +387,7 @@ Index: linux-2.4.35.4/drivers/net/b44.c
  	}
  
  	ssb_core_reset(bp);
-@@ -1115,6 +1252,11 @@
+@@ -1115,6 +1250,11 @@ static void b44_chip_reset(struct b44 *b
  	b44_clear_stats(bp);
  
  	/* Make PHY accessible. */
@@ -399,7 +399,7 @@ Index: linux-2.4.35.4/drivers/net/b44.c
  	bw32(B44_MDIO_CTRL, (MDIO_CTRL_PREAMBLE |
  			     (0x0d & MDIO_CTRL_MAXF_MASK)));
  	br32(B44_MDIO_CTRL);
-@@ -1216,6 +1358,8 @@
+@@ -1216,6 +1356,8 @@ static int b44_open(struct net_device *d
  	struct b44 *bp = dev->priv;
  	int err;
  
@@ -408,7 +408,7 @@ Index: linux-2.4.35.4/drivers/net/b44.c
  	err = b44_alloc_consistent(bp);
  	if (err)
  		return err;
-@@ -1236,9 +1380,10 @@
+@@ -1236,9 +1378,10 @@ static int b44_open(struct net_device *d
  	bp->timer.expires = jiffies + HZ;
  	bp->timer.data = (unsigned long) bp;
  	bp->timer.function = b44_timer;
@@ -420,7 +420,7 @@ Index: linux-2.4.35.4/drivers/net/b44.c
  
  	return 0;
  
-@@ -1638,7 +1783,7 @@
+@@ -1638,7 +1781,7 @@ static int b44_ioctl(struct net_device *
  		u32 mii_regval;
  
  		spin_lock_irq(&bp->lock);
@@ -429,7 +429,7 @@ Index: linux-2.4.35.4/drivers/net/b44.c
  		spin_unlock_irq(&bp->lock);
  
  		data->val_out = mii_regval;
-@@ -1651,7 +1796,7 @@
+@@ -1651,7 +1794,7 @@ static int b44_ioctl(struct net_device *
  			return -EPERM;
  
  		spin_lock_irq(&bp->lock);
@@ -438,7 +438,7 @@ Index: linux-2.4.35.4/drivers/net/b44.c
  		spin_unlock_irq(&bp->lock);
  
  		return err;
-@@ -1678,21 +1823,52 @@
+@@ -1678,21 +1821,52 @@ static int b44_read_eeprom(struct b44 *b
  static int __devinit b44_get_invariants(struct b44 *bp)
  {
  	u8 eeprom[128];
@@ -504,7 +504,7 @@ Index: linux-2.4.35.4/drivers/net/b44.c
  
  	/* With this, plus the rx_header prepended to the data by the
  	 * hardware, we'll land the ethernet header on a 2-byte boundary.
-@@ -1702,13 +1878,12 @@
+@@ -1702,13 +1876,12 @@ static int __devinit b44_get_invariants(
  	bp->imask = IMASK_DEF;
  
  	bp->core_unit = ssb_core_unit(bp);
@@ -520,7 +520,7 @@ Index: linux-2.4.35.4/drivers/net/b44.c
  }
  
  static int __devinit b44_init_one(struct pci_dev *pdev,
-@@ -1720,6 +1895,10 @@
+@@ -1720,6 +1893,10 @@ static int __devinit b44_init_one(struct
  	struct b44 *bp;
  	int err, i;
  
@@ -531,7 +531,7 @@ Index: linux-2.4.35.4/drivers/net/b44.c
  	if (b44_version_printed++ == 0)
  		printk(KERN_INFO "%s", version);
  
-@@ -1834,11 +2013,17 @@
+@@ -1834,11 +2011,17 @@ static int __devinit b44_init_one(struct
  	 */ 
  	b44_chip_reset(bp);
  
@@ -552,8 +552,8 @@ Index: linux-2.4.35.4/drivers/net/b44.c
  err_out_iounmap:
 Index: linux-2.4.35.4/drivers/net/b44.h
 ===================================================================
---- linux-2.4.35.4.orig/drivers/net/b44.h	2007-12-15 05:19:36.102478402 +0100
-+++ linux-2.4.35.4/drivers/net/b44.h	2007-12-15 05:20:16.028753670 +0100
+--- linux-2.4.35.4.orig/drivers/net/b44.h
++++ linux-2.4.35.4/drivers/net/b44.h
 @@ -229,8 +229,6 @@
  #define  SBIPSFLAG_IMASK4	0x3f000000 /* Which sbflags --> mips interrupt 4 */
  #define  SBIPSFLAG_ISHIFT4	24
@@ -563,7 +563,7 @@ Index: linux-2.4.35.4/drivers/net/b44.h
  #define B44_SBADMATCH3	0x0F60UL /* SB Address Match 3 */
  #define B44_SBADMATCH2	0x0F68UL /* SB Address Match 2 */
  #define B44_SBADMATCH1	0x0F70UL /* SB Address Match 1 */
-@@ -461,6 +459,8 @@
+@@ -461,6 +459,8 @@ struct ring_info {
  };
  
  #define B44_MCAST_TABLE_SIZE	32
@@ -574,8 +574,8 @@ Index: linux-2.4.35.4/drivers/net/b44.h
   * which probes HW values.  Must have same relative layout as HW
 Index: linux-2.4.35.4/include/linux/pci_ids.h
 ===================================================================
---- linux-2.4.35.4.orig/include/linux/pci_ids.h	2007-12-15 05:19:36.114479084 +0100
-+++ linux-2.4.35.4/include/linux/pci_ids.h	2007-12-15 05:20:16.032753896 +0100
+--- linux-2.4.35.4.orig/include/linux/pci_ids.h
++++ linux-2.4.35.4/include/linux/pci_ids.h
 @@ -1756,6 +1756,7 @@
  #define PCI_DEVICE_ID_TIGON3_5901_2	0x170e
  #define PCI_DEVICE_ID_BCM4401		0x4401

+ 9 - 9
target/linux/brcm-2.4/patches/009-wrt54g3g_pcmcia.patch

@@ -1,8 +1,8 @@
 Index: linux-2.4.35.4/drivers/pcmcia/yenta.c
 ===================================================================
---- linux-2.4.35.4.orig/drivers/pcmcia/yenta.c	2007-12-15 05:19:36.066476349 +0100
-+++ linux-2.4.35.4/drivers/pcmcia/yenta.c	2007-12-15 05:20:16.268767348 +0100
-@@ -543,6 +543,9 @@
+--- linux-2.4.35.4.orig/drivers/pcmcia/yenta.c
++++ linux-2.4.35.4/drivers/pcmcia/yenta.c
+@@ -543,6 +543,9 @@ static unsigned int yenta_probe_irq(pci_
  	 * Probe for usable interrupts using the force
  	 * register to generate bogus card status events.
  	 */
@@ -12,7 +12,7 @@ Index: linux-2.4.35.4/drivers/pcmcia/yenta.c
  	cb_writel(socket, CB_SOCKET_EVENT, -1);
  	cb_writel(socket, CB_SOCKET_MASK, CB_CSTSMASK);
  	exca_writeb(socket, I365_CSCINT, 0);
-@@ -557,7 +560,8 @@
+@@ -557,7 +560,8 @@ static unsigned int yenta_probe_irq(pci_
  	}
  	cb_writel(socket, CB_SOCKET_MASK, 0);
  	exca_writeb(socket, I365_CSCINT, 0);
@@ -22,7 +22,7 @@ Index: linux-2.4.35.4/drivers/pcmcia/yenta.c
  	mask = probe_irq_mask(val) & 0xffff;
  
  	bridge_ctrl &= ~CB_BRIDGE_INTR;
-@@ -578,6 +582,12 @@
+@@ -578,6 +582,12 @@ static void yenta_get_socket_capabilitie
  	socket->cap.cb_dev = socket->dev;
  	socket->cap.bus = NULL;
  
@@ -35,7 +35,7 @@ Index: linux-2.4.35.4/drivers/pcmcia/yenta.c
  	printk(KERN_INFO "Yenta ISA IRQ mask 0x%04x, PCI irq %d\n",
  	       socket->cap.irq_mask, socket->cb_irq);
  }
-@@ -609,6 +619,15 @@
+@@ -609,6 +619,15 @@ static void yenta_open_bh(void * data)
  	printk(KERN_INFO "Socket status: %08x\n",
  	       cb_readl(socket, CB_SOCKET_STATE));
  
@@ -51,7 +51,7 @@ Index: linux-2.4.35.4/drivers/pcmcia/yenta.c
  	/* Register it with the pcmcia layer.. */
  	cardbus_register(socket);
  
-@@ -731,7 +750,7 @@
+@@ -731,7 +750,7 @@ static void yenta_allocate_res(pci_socke
  {
  	struct pci_bus *bus;
  	struct resource *root, *res;
@@ -60,7 +60,7 @@ Index: linux-2.4.35.4/drivers/pcmcia/yenta.c
  	u32 align, size, min, max;
  	unsigned offset;
  	unsigned mask;
-@@ -750,6 +769,15 @@
+@@ -750,6 +769,15 @@ static void yenta_allocate_res(pci_socke
  	res->end = 0;
  	root = pci_find_parent_resource(socket->dev, res);
  
@@ -76,7 +76,7 @@ Index: linux-2.4.35.4/drivers/pcmcia/yenta.c
  	if (!root)
  		return;
  
-@@ -794,6 +822,7 @@
+@@ -794,6 +822,7 @@ static void yenta_allocate_res(pci_socke
  		res->start = res->end = 0;
  		return;
  	}

+ 7 - 7
target/linux/brcm-2.4/patches/010-bcm47xx-cam_absent.patch

@@ -1,7 +1,7 @@
 Index: linux-2.4.35.4/drivers/net/b44.h
 ===================================================================
---- linux-2.4.35.4.orig/drivers/net/b44.h	2007-12-15 05:20:16.028753670 +0100
-+++ linux-2.4.35.4/drivers/net/b44.h	2007-12-15 05:20:16.480779429 +0100
+--- linux-2.4.35.4.orig/drivers/net/b44.h
++++ linux-2.4.35.4/drivers/net/b44.h
 @@ -122,6 +122,7 @@
  #define  RXCONFIG_FLOW		0x00000020 /* Flow Control Enable */
  #define  RXCONFIG_FLOW_ACCEPT	0x00000040 /* Accept Unicast Flow Control Frame */
@@ -12,9 +12,9 @@ Index: linux-2.4.35.4/drivers/net/b44.h
  #define B44_MDIO_CTRL	0x0410UL /* EMAC MDIO Control */
 Index: linux-2.4.35.4/drivers/net/b44.c
 ===================================================================
---- linux-2.4.35.4.orig/drivers/net/b44.c	2007-12-15 05:20:16.020753214 +0100
-+++ linux-2.4.35.4/drivers/net/b44.c	2007-12-15 05:20:16.480779429 +0100
-@@ -1301,6 +1301,7 @@
+--- linux-2.4.35.4.orig/drivers/net/b44.c
++++ linux-2.4.35.4/drivers/net/b44.c
+@@ -1299,6 +1299,7 @@ static int b44_set_mac_addr(struct net_d
  {
  	struct b44 *bp = dev->priv;
  	struct sockaddr *addr = p;
@@ -22,7 +22,7 @@ Index: linux-2.4.35.4/drivers/net/b44.c
  
  	if (netif_running(dev))
  		return -EBUSY;
-@@ -1308,7 +1309,11 @@
+@@ -1306,7 +1307,11 @@ static int b44_set_mac_addr(struct net_d
  	memcpy(dev->dev_addr, addr->sa_data, dev->addr_len);
  
  	spin_lock_irq(&bp->lock);
@@ -35,7 +35,7 @@ Index: linux-2.4.35.4/drivers/net/b44.c
  	spin_unlock_irq(&bp->lock);
  
  	return 0;
-@@ -1495,7 +1500,7 @@
+@@ -1493,7 +1498,7 @@ static void __b44_set_rx_mode(struct net
  
  	val = br32(B44_RXCONFIG);
  	val &= ~(RXCONFIG_PROMISC | RXCONFIG_ALLMULTI);

+ 3 - 3
target/linux/brcm-2.4/patches/011-wl_qdisc_war.patch

@@ -1,8 +1,8 @@
 Index: linux-2.4.35.4/net/sched/sch_generic.c
 ===================================================================
---- linux-2.4.35.4.orig/net/sched/sch_generic.c	2007-12-15 05:20:10.816456638 +0100
-+++ linux-2.4.35.4/net/sched/sch_generic.c	2007-12-15 05:20:16.704792197 +0100
-@@ -84,6 +84,11 @@
+--- linux-2.4.35.4.orig/net/sched/sch_generic.c
++++ linux-2.4.35.4/net/sched/sch_generic.c
+@@ -84,6 +84,11 @@ int qdisc_restart(struct net_device *dev
  	struct sk_buff *skb;
  
  	/* Dequeue packet */

+ 6 - 6
target/linux/brcm-2.4/patches/012-aec62xx.patch

@@ -1,7 +1,7 @@
 Index: linux-2.4.35.4/drivers/ide/pci/aec62xx.c
 ===================================================================
---- linux-2.4.35.4.orig/drivers/ide/pci/aec62xx.c	2007-12-15 05:19:35.958470194 +0100
-+++ linux-2.4.35.4/drivers/ide/pci/aec62xx.c	2007-12-15 05:20:16.928804961 +0100
+--- linux-2.4.35.4.orig/drivers/ide/pci/aec62xx.c
++++ linux-2.4.35.4/drivers/ide/pci/aec62xx.c
 @@ -3,6 +3,8 @@
   *
   * Copyright (C) 1999-2002	Andre Hedrick <[email protected]>
@@ -11,7 +11,7 @@ Index: linux-2.4.35.4/drivers/ide/pci/aec62xx.c
   */
  
  #include <linux/module.h>
-@@ -329,7 +331,11 @@
+@@ -329,7 +331,11 @@ static int aec62xx_config_drive_xfer_rat
  	ide_hwif_t *hwif	= HWIF(drive);
  	struct hd_driveid *id	= drive->id;
  
@@ -23,7 +23,7 @@ Index: linux-2.4.35.4/drivers/ide/pci/aec62xx.c
  		/* Consult the list of known "bad" drives */
  		if (hwif->ide_dma_bad_drive(drive))
  			goto fast_ata_pio;
-@@ -414,10 +420,60 @@
+@@ -414,10 +420,60 @@ static unsigned int __init init_chipset_
  {
  	int bus_speed = system_bus_clock();
  
@@ -84,7 +84,7 @@ Index: linux-2.4.35.4/drivers/ide/pci/aec62xx.c
  
  #if defined(DISPLAY_AEC62XX_TIMINGS) && defined(CONFIG_PROC_FS)
  	aec_devs[n_aec_devs++] = dev;
-@@ -500,6 +556,7 @@
+@@ -500,6 +556,7 @@ static void __init init_setup_aec62xx (s
  
  static void __init init_setup_aec6x80 (struct pci_dev *dev, ide_pci_device_t *d)
  {
@@ -92,7 +92,7 @@ Index: linux-2.4.35.4/drivers/ide/pci/aec62xx.c
  	unsigned long bar4reg = pci_resource_start(dev, 4);
  
  	if (inb(bar4reg+2) & 0x10) {
-@@ -512,6 +569,7 @@
+@@ -512,6 +569,7 @@ static void __init init_setup_aec6x80 (s
  			strcpy(d->name, "AEC6280R");
  	}
  

+ 4 - 4
target/linux/brcm-2.4/patches/013-wl_hdd_pdc202xx.patch

@@ -1,8 +1,8 @@
 Index: linux-2.4.35.4/drivers/ide/pci/pdc202xx_old.c
 ===================================================================
---- linux-2.4.35.4.orig/drivers/ide/pci/pdc202xx_old.c	2007-12-15 05:19:35.922468144 +0100
-+++ linux-2.4.35.4/drivers/ide/pci/pdc202xx_old.c	2007-12-15 05:20:17.136816813 +0100
-@@ -253,23 +253,23 @@
+--- linux-2.4.35.4.orig/drivers/ide/pci/pdc202xx_old.c
++++ linux-2.4.35.4/drivers/ide/pci/pdc202xx_old.c
+@@ -253,23 +253,23 @@ static int pdc202xx_tune_chipset (ide_dr
  	pci_read_config_byte(dev, (drive_pci)|0x03, &DP);
  
  	if (speed < XFER_SW_DMA_0) {
@@ -30,7 +30,7 @@ Index: linux-2.4.35.4/drivers/ide/pci/pdc202xx_old.c
  			pci_read_config_byte(dev, (drive_pci)|0x01, &BP);
  
  			/* clear DMA modes of lower 8421 bits of C Register */
-@@ -373,6 +373,9 @@
+@@ -373,6 +373,9 @@ static int config_chipset_for_dma (ide_d
  	u8 ultra_66		= ((id->dma_ultra & 0x0010) ||
  				   (id->dma_ultra & 0x0008)) ? 1 : 0;