From 8932b397b870363406f10c1c3ec4934d2afaaa88 Mon Sep 17 00:00:00 2001 From: Gabor Juhos Date: Mon, 19 May 2008 13:45:06 +0000 Subject: [PATCH] refresh kernel patches SVN-Revision: 11214 --- .../linux/brcm-2.4/patches/001-bcm47xx.patch | 138 +++++++++--------- .../patches/003-bcm47xx_cache_fixes.patch | 88 +++++------ target/linux/brcm-2.4/patches/004-flash.patch | 22 +-- .../005-bluetooth_sco_buffer_align.patch | 6 +- .../brcm-2.4/patches/006-ide_workaround.patch | 6 +- .../patches/008-b44_bcm47xx_support.patch | 70 ++++----- .../patches/009-wrt54g3g_pcmcia.patch | 18 +-- .../patches/010-bcm47xx-cam_absent.patch | 14 +- .../brcm-2.4/patches/011-wl_qdisc_war.patch | 6 +- .../linux/brcm-2.4/patches/012-aec62xx.patch | 12 +- .../patches/013-wl_hdd_pdc202xx.patch | 8 +- 11 files changed, 194 insertions(+), 194 deletions(-) diff --git a/target/linux/brcm-2.4/patches/001-bcm47xx.patch b/target/linux/brcm-2.4/patches/001-bcm47xx.patch index 351fe28804..31d0ec13dd 100644 --- a/target/linux/brcm-2.4/patches/001-bcm47xx.patch +++ b/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 #include @@ -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<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<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 }, diff --git a/target/linux/brcm-2.4/patches/003-bcm47xx_cache_fixes.patch b/target/linux/brcm-2.4/patches/003-bcm47xx_cache_fixes.patch index 00bd7a7ef5..ebd987214c 100644 --- a/target/linux/brcm-2.4/patches/003-bcm47xx_cache_fixes.patch +++ b/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 #include @@ -30,7 +30,7 @@ Index: linux-2.4.35.4/arch/mips/mm/c-r4k.c #include #include #include -@@ -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 #include @@ -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)))); diff --git a/target/linux/brcm-2.4/patches/004-flash.patch b/target/linux/brcm-2.4/patches/004-flash.patch index 0046c37e7d..8f75b65fe7 100644 --- a/target/linux/brcm-2.4/patches/004-flash.patch +++ b/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 diff --git a/target/linux/brcm-2.4/patches/005-bluetooth_sco_buffer_align.patch b/target/linux/brcm-2.4/patches/005-bluetooth_sco_buffer_align.patch index 65c423f1af..77ce815577 100644 --- a/target/linux/brcm-2.4/patches/005-bluetooth_sco_buffer_align.patch +++ b/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; diff --git a/target/linux/brcm-2.4/patches/006-ide_workaround.patch b/target/linux/brcm-2.4/patches/006-ide_workaround.patch index 6fb5c68029..8a0b9de685 100644 --- a/target/linux/brcm-2.4/patches/006-ide_workaround.patch +++ b/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) { diff --git a/target/linux/brcm-2.4/patches/008-b44_bcm47xx_support.patch b/target/linux/brcm-2.4/patches/008-b44_bcm47xx_support.patch index be09cc98ed..ae6e7d5559 100644 --- a/target/linux/brcm-2.4/patches/008-b44_bcm47xx_support.patch +++ b/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 (davem@redhat.com)"); @@ -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 diff --git a/target/linux/brcm-2.4/patches/009-wrt54g3g_pcmcia.patch b/target/linux/brcm-2.4/patches/009-wrt54g3g_pcmcia.patch index 01e1f3c23d..be84d2d60a 100644 --- a/target/linux/brcm-2.4/patches/009-wrt54g3g_pcmcia.patch +++ b/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; } diff --git a/target/linux/brcm-2.4/patches/010-bcm47xx-cam_absent.patch b/target/linux/brcm-2.4/patches/010-bcm47xx-cam_absent.patch index 5023e181c4..1fe564e0a9 100644 --- a/target/linux/brcm-2.4/patches/010-bcm47xx-cam_absent.patch +++ b/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); diff --git a/target/linux/brcm-2.4/patches/011-wl_qdisc_war.patch b/target/linux/brcm-2.4/patches/011-wl_qdisc_war.patch index 1c19be001b..bf831c66f5 100644 --- a/target/linux/brcm-2.4/patches/011-wl_qdisc_war.patch +++ b/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 */ diff --git a/target/linux/brcm-2.4/patches/012-aec62xx.patch b/target/linux/brcm-2.4/patches/012-aec62xx.patch index 97ba007bab..b0cc812d27 100644 --- a/target/linux/brcm-2.4/patches/012-aec62xx.patch +++ b/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 @@ -11,7 +11,7 @@ Index: linux-2.4.35.4/drivers/ide/pci/aec62xx.c */ #include -@@ -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"); } diff --git a/target/linux/brcm-2.4/patches/013-wl_hdd_pdc202xx.patch b/target/linux/brcm-2.4/patches/013-wl_hdd_pdc202xx.patch index 5e822a14fc..48b3b3b547 100644 --- a/target/linux/brcm-2.4/patches/013-wl_hdd_pdc202xx.patch +++ b/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;