aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/brcm-2.4
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/brcm-2.4')
-rw-r--r--target/linux/brcm-2.4/patches/001-bcm47xx.patch138
-rw-r--r--target/linux/brcm-2.4/patches/003-bcm47xx_cache_fixes.patch88
-rw-r--r--target/linux/brcm-2.4/patches/004-flash.patch22
-rw-r--r--target/linux/brcm-2.4/patches/005-bluetooth_sco_buffer_align.patch6
-rw-r--r--target/linux/brcm-2.4/patches/006-ide_workaround.patch6
-rw-r--r--target/linux/brcm-2.4/patches/008-b44_bcm47xx_support.patch70
-rw-r--r--target/linux/brcm-2.4/patches/009-wrt54g3g_pcmcia.patch18
-rw-r--r--target/linux/brcm-2.4/patches/010-bcm47xx-cam_absent.patch14
-rw-r--r--target/linux/brcm-2.4/patches/011-wl_qdisc_war.patch6
-rw-r--r--target/linux/brcm-2.4/patches/012-aec62xx.patch12
-rw-r--r--target/linux/brcm-2.4/patches/013-wl_hdd_pdc202xx.patch8
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 <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 },
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 <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))));
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 <andre@linux-ide.org>
@@ -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");
}
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;