From 3f881e9573a891a64a806238680fe958c00df527 Mon Sep 17 00:00:00 2001
From: Imre Kaloz <kaloz@openwrt.org>
Date: Fri, 5 Jan 2007 20:09:34 +0000
Subject: [PATCH] upgrade to Linux 2.4.34

SVN-Revision: 6000
---
 include/kernel-version.mk                     |    4 +-
 .../generic-2.4/patches/006-gcc4_fixes.patch  |  510 -------
 .../patches/007-more_gcc4_fixes.patch         | 1317 -----------------
 3 files changed, 2 insertions(+), 1829 deletions(-)
 delete mode 100644 target/linux/generic-2.4/patches/006-gcc4_fixes.patch
 delete mode 100644 target/linux/generic-2.4/patches/007-more_gcc4_fixes.patch

diff --git a/include/kernel-version.mk b/include/kernel-version.mk
index af457a2485..50683c54a2 100644
--- a/include/kernel-version.mk
+++ b/include/kernel-version.mk
@@ -2,9 +2,9 @@
 
 ifeq ($(LINUX_VERSION),)
   ifeq ($(KERNEL),2.4)
-    LINUX_VERSION:=2.4.33.4
+    LINUX_VERSION:=2.4.34
     LINUX_RELEASE:=1
-    LINUX_KERNEL_MD5SUM:=aca0257549c385a227088ad8853a72a2
+    LINUX_KERNEL_MD5SUM:=f59665540a7f3351ea416a0dad104b55
   else
     LINUX_VERSION:=2.6.19.1
     LINUX_RELEASE:=1
diff --git a/target/linux/generic-2.4/patches/006-gcc4_fixes.patch b/target/linux/generic-2.4/patches/006-gcc4_fixes.patch
deleted file mode 100644
index beb0c52f8a..0000000000
--- a/target/linux/generic-2.4/patches/006-gcc4_fixes.patch
+++ /dev/null
@@ -1,510 +0,0 @@
-diff -rupN linux-2.4.32/Makefile linux-2.4.32.gcc4-fixes-v12/Makefile
---- linux-2.4.32/Makefile	2005-11-17 13:27:30.000000000 +0100
-+++ linux-2.4.32.gcc4-fixes-v12/Makefile	2005-11-17 13:32:13.000000000 +0100
-@@ -93,11 +93,17 @@ CPPFLAGS := -D__KERNEL__ -I$(HPATH)
- 
- CFLAGS := $(CPPFLAGS) -Wall -Wstrict-prototypes -Wno-trigraphs -O2 \
- 	  -fno-strict-aliasing -fno-common
-+CFLAGS += -fno-builtin-sprintf
- ifndef CONFIG_FRAME_POINTER
- CFLAGS += -fomit-frame-pointer
- endif
- AFLAGS := -D__ASSEMBLY__ $(CPPFLAGS)
- 
-+check_gcc = $(shell if $(CC) $(1) -S -o /dev/null -xc /dev/null > /dev/null 2>&1; then echo "$(1)"; else echo "$(2)"; fi)
-+
-+# disable pointer signedness warnings in gcc 4.0
-+CFLAGS += $(call check_gcc,-Wno-pointer-sign,)
-+
- #
- # ROOT_DEV specifies the default root-device when making the image.
- # This can be either FLOPPY, CURRENT, /dev/xxxx or empty, in which case
-diff -rupN linux-2.4.32/arch/i386/Makefile linux-2.4.32.gcc4-fixes-v12/arch/i386/Makefile
---- linux-2.4.32/arch/i386/Makefile	2004-11-17 18:36:41.000000000 +0100
-+++ linux-2.4.32.gcc4-fixes-v12/arch/i386/Makefile	2005-11-17 13:32:13.000000000 +0100
-@@ -23,8 +23,6 @@ LINKFLAGS =-T $(TOPDIR)/arch/i386/vmlinu
- 
- CFLAGS += -pipe
- 
--check_gcc = $(shell if $(CC) $(1) -S -o /dev/null -xc /dev/null > /dev/null 2>&1; then echo "$(1)"; else echo "$(2)"; fi)
--
- # prevent gcc from keeping the stack 16 byte aligned
- CFLAGS += $(call check_gcc,-mpreferred-stack-boundary=2,)
- 
-diff -rupN linux-2.4.32/arch/mips/Makefile linux-2.4.32.gcc4-fixes-v12/arch/mips/Makefile
---- linux-2.4.32/arch/mips/Makefile	2005-01-19 18:00:52.000000000 +0100
-+++ linux-2.4.32.gcc4-fixes-v12/arch/mips/Makefile	2005-11-17 13:32:13.000000000 +0100
-@@ -30,8 +30,6 @@ endif
- 
- MAKEBOOT = $(MAKE) -C arch/$(ARCH)/boot
- 
--check_gcc = $(shell if $(CC) $(1) -S -o /dev/null -xc /dev/null > /dev/null 2>&1; then echo "$(1)"; else echo "$(2)"; fi)
--
- #
- #
- # GCC uses -G 0 -mabicalls -fpic as default.  We don't want PIC in the kernel
-diff -rupN linux-2.4.32/arch/mips64/Makefile linux-2.4.32.gcc4-fixes-v12/arch/mips64/Makefile
---- linux-2.4.32/arch/mips64/Makefile	2005-01-19 18:00:52.000000000 +0100
-+++ linux-2.4.32.gcc4-fixes-v12/arch/mips64/Makefile	2005-11-17 13:32:13.000000000 +0100
-@@ -26,7 +26,6 @@ ifdef CONFIG_CROSSCOMPILE
- CROSS_COMPILE	= $(tool-prefix)
- endif
- 
--check_gcc = $(shell if $(CC) $(1) -S -o /dev/null -xc /dev/null > /dev/null 2>&1; then echo "$(1)"; else echo "$(2)"; fi)
- check_gas = $(shell if $(CC) $(1) -Wa,-Z -c -o /dev/null -xassembler /dev/null > /dev/null 2>&1; then echo "$(1)"; else echo "$(2)"; fi)
- 
- #
-diff -rupN linux-2.4.32/arch/ppc/kernel/open_pic_defs.h linux-2.4.32.gcc4-fixes-v12/arch/ppc/kernel/open_pic_defs.h
---- linux-2.4.32/arch/ppc/kernel/open_pic_defs.h	2003-06-14 13:30:19.000000000 +0200
-+++ linux-2.4.32.gcc4-fixes-v12/arch/ppc/kernel/open_pic_defs.h	2005-11-17 13:32:13.000000000 +0100
-@@ -172,9 +172,6 @@ struct OpenPIC {
-     OpenPIC_Processor Processor[OPENPIC_MAX_PROCESSORS];
- };
- 
--extern volatile struct OpenPIC *OpenPIC;
--
--
-     /*
-      *  Current Task Priority Register
-      */
-diff -rupN linux-2.4.32/arch/x86_64/Makefile linux-2.4.32.gcc4-fixes-v12/arch/x86_64/Makefile
---- linux-2.4.32/arch/x86_64/Makefile	2004-04-14 20:22:20.000000000 +0200
-+++ linux-2.4.32.gcc4-fixes-v12/arch/x86_64/Makefile	2005-11-17 13:32:13.000000000 +0100
-@@ -38,8 +38,6 @@ OBJCOPY=$(CROSS_COMPILE)objcopy -O binar
- LDFLAGS=-e stext
- LINKFLAGS =-T $(TOPDIR)/arch/x86_64/vmlinux.lds $(LDFLAGS)
- 
--check_gcc = $(shell if $(CC) $(1) -S -o /dev/null -xc /dev/null > /dev/null 2>&1 ; then echo "$(1)"; else echo "$(2)"; fi)
--
- CFLAGS += -mno-red-zone
- CFLAGS += -mcmodel=kernel
- CFLAGS += -pipe
-diff -rupN linux-2.4.32/arch/x86_64/ia32/ia32entry.S linux-2.4.32.gcc4-fixes-v12/arch/x86_64/ia32/ia32entry.S
---- linux-2.4.32/arch/x86_64/ia32/ia32entry.S	2005-01-19 18:00:53.000000000 +0100
-+++ linux-2.4.32.gcc4-fixes-v12/arch/x86_64/ia32/ia32entry.S	2005-11-17 13:32:13.000000000 +0100
-@@ -113,9 +113,18 @@ quiet_ni_syscall:
- 	PTREGSCALL stub32_fork, sys32_fork
- 	PTREGSCALL stub32_clone, sys32_clone
- 	PTREGSCALL stub32_vfork, sys32_vfork
--	PTREGSCALL stub32_iopl, sys_iopl
- 	PTREGSCALL stub32_rt_sigsuspend, sys_rt_sigsuspend
- 
-+	.macro PTREGSCALL3 label, func, arg
-+	.globl \label
-+\label:
-+	leaq \func(%rip),%rax
-+	leaq -ARGOFFSET+8(%rsp),\arg	/* 8 for return address */
-+	jmp  ia32_ptregs_common	
-+	.endm
-+
-+	PTREGSCALL3 stub32_iopl, sys_iopl, %rsi
-+
- ENTRY(ia32_ptregs_common)
- 	popq %r11
- 	SAVE_REST
-diff -rupN linux-2.4.32/arch/x86_64/kernel/entry.S linux-2.4.32.gcc4-fixes-v12/arch/x86_64/kernel/entry.S
---- linux-2.4.32/arch/x86_64/kernel/entry.S	2003-11-29 00:28:11.000000000 +0100
-+++ linux-2.4.32.gcc4-fixes-v12/arch/x86_64/kernel/entry.S	2005-11-17 13:32:13.000000000 +0100
-@@ -249,7 +249,16 @@ intret_signal_test:		
- 	PTREGSCALL stub_vfork, sys_vfork
- 	PTREGSCALL stub_rt_sigsuspend, sys_rt_sigsuspend
- 	PTREGSCALL stub_sigaltstack, sys_sigaltstack
--	PTREGSCALL stub_iopl, sys_iopl
-+
-+	.macro PTREGSCALL3 label,func,arg
-+	.globl \label
-+\label:
-+	leaq	\func(%rip),%rax
-+	leaq    -ARGOFFSET+8(%rsp),\arg /* 8 for return address */
-+	jmp	ptregscall_common
-+	.endm
-+
-+	PTREGSCALL3 stub_iopl, sys_iopl, %rsi
- 
- ENTRY(ptregscall_common)
- 	popq %r11
-diff -rupN linux-2.4.32/arch/x86_64/kernel/ioport.c linux-2.4.32.gcc4-fixes-v12/arch/x86_64/kernel/ioport.c
---- linux-2.4.32/arch/x86_64/kernel/ioport.c	2003-11-29 00:28:11.000000000 +0100
-+++ linux-2.4.32.gcc4-fixes-v12/arch/x86_64/kernel/ioport.c	2005-11-17 13:32:13.000000000 +0100
-@@ -81,9 +81,9 @@ asmlinkage long sys_ioperm(unsigned long
-  * code.
-  */
- 
--asmlinkage long sys_iopl(unsigned int level, struct pt_regs regs)
-+asmlinkage long sys_iopl(unsigned int level, struct pt_regs *regs)
- {
--	unsigned int old = (regs.eflags >> 12) & 3;
-+	unsigned int old = (regs->eflags >> 12) & 3;
- 
- 	if (level > 3)
- 		return -EINVAL;
-@@ -92,6 +92,6 @@ asmlinkage long sys_iopl(unsigned int le
- 		if (!capable(CAP_SYS_RAWIO))
- 			return -EPERM;
- 	}
--	regs.eflags = (regs.eflags & 0xffffffffffffcfff) | (level << 12);
-+	regs->eflags = (regs->eflags &~ 0x3000UL) | (level << 12);
- 	return 0;
- }
-diff -rupN linux-2.4.32/drivers/acpi/bus.c linux-2.4.32.gcc4-fixes-v12/drivers/acpi/bus.c
---- linux-2.4.32/drivers/acpi/bus.c	2005-01-19 18:00:53.000000000 +0100
-+++ linux-2.4.32.gcc4-fixes-v12/drivers/acpi/bus.c	2005-11-17 13:32:13.000000000 +0100
-@@ -623,7 +623,7 @@ acpi_bus_generate_event (
- 	int			data)
- {
- 	struct acpi_bus_event	*event = NULL;
--	u32			flags = 0;
-+	unsigned long		flags = 0;
- 
- 	ACPI_FUNCTION_TRACE("acpi_bus_generate_event");
- 
-@@ -656,7 +656,7 @@ int
- acpi_bus_receive_event (
- 	struct acpi_bus_event	*event)
- {
--	u32			flags = 0;
-+	unsigned long		flags = 0;
- 	struct acpi_bus_event	*entry = NULL;
- 
- 	DECLARE_WAITQUEUE(wait, current);
-diff -rupN linux-2.4.32/drivers/sound/sound_firmware.c linux-2.4.32.gcc4-fixes-v12/drivers/sound/sound_firmware.c
---- linux-2.4.32/drivers/sound/sound_firmware.c	2001-02-22 15:23:46.000000000 +0100
-+++ linux-2.4.32.gcc4-fixes-v12/drivers/sound/sound_firmware.c	2005-11-17 13:32:13.000000000 +0100
-@@ -4,10 +4,11 @@
- #include <linux/fs.h>
- #include <linux/mm.h>
- #include <linux/slab.h>
--#include <linux/unistd.h>
-+static int my_errno;
-+#define errno my_errno
-+#include <asm/unistd.h>
- #include <asm/uaccess.h>
- 
--static int errno;
- static int do_mod_firmware_load(const char *fn, char **fp)
- {
- 	int fd;
-diff -rupN linux-2.4.32/drivers/usb/inode.c linux-2.4.32.gcc4-fixes-v12/drivers/usb/inode.c
---- linux-2.4.32/drivers/usb/inode.c	2004-02-18 15:16:23.000000000 +0100
-+++ linux-2.4.32.gcc4-fixes-v12/drivers/usb/inode.c	2005-11-17 13:32:13.000000000 +0100
-@@ -41,6 +41,9 @@
- #include <linux/usbdevice_fs.h>
- #include <asm/uaccess.h>
- 
-+static struct inode_operations usbdevfs_bus_inode_operations;
-+static struct file_operations usbdevfs_bus_file_operations;
-+
- /* --------------------------------------------------------------------- */
- 
- /*
-diff -rupN linux-2.4.32/fs/hfs/trans.c linux-2.4.32.gcc4-fixes-v12/fs/hfs/trans.c
---- linux-2.4.32/fs/hfs/trans.c	2001-02-22 15:23:47.000000000 +0100
-+++ linux-2.4.32.gcc4-fixes-v12/fs/hfs/trans.c	2005-11-17 13:32:13.000000000 +0100
-@@ -33,6 +33,7 @@
- #include <linux/hfs_fs_sb.h>
- #include <linux/hfs_fs_i.h>
- #include <linux/hfs_fs.h>
-+#include <linux/compiler.h>
- 
- /*================ File-local variables ================*/
- 
-@@ -78,7 +79,7 @@ static unsigned char mac2latin_map[128] 
-  *
-  * Given a hexadecimal digit in ASCII, return the integer representation.
-  */
--static inline const unsigned char dehex(char c) {
-+static inline __attribute_const__ unsigned char dehex(char c) {
- 	if ((c>='0')&&(c<='9')) {
- 		return c-'0';
- 	}
-diff -rupN linux-2.4.32/include/asm-i386/byteorder.h linux-2.4.32.gcc4-fixes-v12/include/asm-i386/byteorder.h
---- linux-2.4.32/include/asm-i386/byteorder.h	2003-06-14 13:30:27.000000000 +0200
-+++ linux-2.4.32.gcc4-fixes-v12/include/asm-i386/byteorder.h	2005-11-17 13:32:13.000000000 +0100
-@@ -2,6 +2,7 @@
- #define _I386_BYTEORDER_H
- 
- #include <asm/types.h>
-+#include <linux/compiler.h>
- 
- #ifdef __GNUC__
- 
-@@ -10,7 +11,7 @@
- #include <linux/config.h>
- #endif
- 
--static __inline__ __const__ __u32 ___arch__swab32(__u32 x)
-+static __inline__ __attribute_const__ __u32 ___arch__swab32(__u32 x)
- {
- #ifdef CONFIG_X86_BSWAP
- 	__asm__("bswap %0" : "=r" (x) : "0" (x));
-@@ -26,7 +27,7 @@ static __inline__ __const__ __u32 ___arc
- 
- /* gcc should generate this for open coded C now too. May be worth switching to 
-    it because inline assembly cannot be scheduled. -AK */
--static __inline__ __const__ __u16 ___arch__swab16(__u16 x)
-+static __inline__ __attribute_const__ __u16 ___arch__swab16(__u16 x)
- {
- 	__asm__("xchgb %b0,%h0"		/* swap bytes		*/
- 		: "=q" (x)
-diff -rupN linux-2.4.32/include/asm-i386/processor.h linux-2.4.32.gcc4-fixes-v12/include/asm-i386/processor.h
---- linux-2.4.32/include/asm-i386/processor.h	2004-02-18 15:16:24.000000000 +0100
-+++ linux-2.4.32.gcc4-fixes-v12/include/asm-i386/processor.h	2005-11-17 13:32:13.000000000 +0100
-@@ -72,7 +72,6 @@ struct cpuinfo_x86 {
-  */
- 
- extern struct cpuinfo_x86 boot_cpu_data;
--extern struct tss_struct init_tss[NR_CPUS];
- 
- #ifdef CONFIG_SMP
- extern struct cpuinfo_x86 cpu_data[];
-@@ -357,6 +356,8 @@ struct tss_struct {
- 	unsigned long __cacheline_filler[5];
- };
- 
-+extern struct tss_struct init_tss[NR_CPUS];
-+
- struct thread_struct {
- 	unsigned long	esp0;
- 	unsigned long	eip;
-diff -rupN linux-2.4.32/include/asm-i386/string.h linux-2.4.32.gcc4-fixes-v12/include/asm-i386/string.h
---- linux-2.4.32/include/asm-i386/string.h	2001-08-12 11:35:53.000000000 +0200
-+++ linux-2.4.32.gcc4-fixes-v12/include/asm-i386/string.h	2005-11-17 13:32:13.000000000 +0100
-@@ -337,7 +337,7 @@ extern void __struct_cpy_bug (void);
- #define struct_cpy(x,y) 			\
- ({						\
- 	if (sizeof(*(x)) != sizeof(*(y))) 	\
--		__struct_cpy_bug;		\
-+		__struct_cpy_bug();		\
- 	memcpy(x, y, sizeof(*(x)));		\
- })
- 
-diff -rupN linux-2.4.32/include/asm-m68k/setup.h linux-2.4.32.gcc4-fixes-v12/include/asm-m68k/setup.h
---- linux-2.4.32/include/asm-m68k/setup.h	2000-01-29 13:07:40.000000000 +0100
-+++ linux-2.4.32.gcc4-fixes-v12/include/asm-m68k/setup.h	2005-11-17 13:32:13.000000000 +0100
-@@ -361,12 +361,13 @@ extern int m68k_is040or060;
- #ifndef __ASSEMBLY__
- extern int m68k_num_memory;		/* # of memory blocks found (and used) */
- extern int m68k_realnum_memory;		/* real # of memory blocks found */
--extern struct mem_info m68k_memory[NUM_MEMINFO];/* memory description */
- 
- struct mem_info {
- 	unsigned long addr;		/* physical address of memory chunk */
- 	unsigned long size;		/* length of memory chunk (in bytes) */
- };
-+
-+extern struct mem_info m68k_memory[NUM_MEMINFO];/* memory description */
- #endif
- 
- #endif /* __KERNEL__ */
-diff -rupN linux-2.4.32/include/asm-ppc/byteorder.h linux-2.4.32.gcc4-fixes-v12/include/asm-ppc/byteorder.h
---- linux-2.4.32/include/asm-ppc/byteorder.h	2003-06-14 13:30:28.000000000 +0200
-+++ linux-2.4.32.gcc4-fixes-v12/include/asm-ppc/byteorder.h	2005-11-17 13:32:13.000000000 +0100
-@@ -2,6 +2,7 @@
- #define _PPC_BYTEORDER_H
- 
- #include <asm/types.h>
-+#include <linux/compiler.h>
- 
- #ifdef __GNUC__
- #ifdef __KERNEL__
-@@ -50,7 +51,7 @@ extern __inline__ void st_le64(volatile 
- 	__asm__ __volatile__ ("stwbrx  %1,0,%2" : "=m" (*addr) : "r" (val), "r" (taddr+4));
- }
- 
--static __inline__ __const__ __u16 ___arch__swab16(__u16 value)
-+static __inline__ __attribute_const__ __u16 ___arch__swab16(__u16 value)
- {
- 	__u16 result;
- 
-@@ -58,7 +59,7 @@ static __inline__ __const__ __u16 ___arc
- 	return result;
- }
- 
--static __inline__ __const__ __u32 ___arch__swab32(__u32 value)
-+static __inline__ __attribute_const__ __u32 ___arch__swab32(__u32 value)
- {
- 	__u32 result;
- 
-diff -rupN linux-2.4.32/include/asm-ppc/time.h linux-2.4.32.gcc4-fixes-v12/include/asm-ppc/time.h
---- linux-2.4.32/include/asm-ppc/time.h	2003-08-25 20:07:49.000000000 +0200
-+++ linux-2.4.32.gcc4-fixes-v12/include/asm-ppc/time.h	2005-11-17 13:32:13.000000000 +0100
-@@ -12,6 +12,7 @@
- #include <linux/config.h>
- #include <linux/mc146818rtc.h>
- #include <linux/threads.h>
-+#include <linux/compiler.h>
- 
- #include <asm/processor.h>
- 
-@@ -57,7 +58,7 @@ static __inline__ void set_dec(unsigned 
- /* Accessor functions for the timebase (RTC on 601) registers. */
- /* If one day CONFIG_POWER is added just define __USE_RTC as 1 */
- #ifdef CONFIG_6xx
--extern __inline__ int const __USE_RTC(void) {
-+extern __inline__ int __attribute_const__ __USE_RTC(void) {
- 	return (mfspr(SPRN_PVR)>>16) == 1;
- }
- #else
-diff -rupN linux-2.4.32/include/asm-x86_64/byteorder.h linux-2.4.32.gcc4-fixes-v12/include/asm-x86_64/byteorder.h
---- linux-2.4.32/include/asm-x86_64/byteorder.h	2002-11-30 17:12:31.000000000 +0100
-+++ linux-2.4.32.gcc4-fixes-v12/include/asm-x86_64/byteorder.h	2005-11-17 13:32:13.000000000 +0100
-@@ -2,16 +2,17 @@
- #define _X86_64_BYTEORDER_H
- 
- #include <asm/types.h>
-+#include <linux/compiler.h>
- 
- #ifdef __GNUC__
- 
--static __inline__ __const__ __u64 ___arch__swab64(__u64 x)
-+static __inline__ __attribute_const__ __u64 ___arch__swab64(__u64 x)
- {
- 	__asm__("bswapq %0" : "=r" (x) : "0" (x));
- 	return x;
- }
- 
--static __inline__ __const__ __u32 ___arch__swab32(__u32 x)
-+static __inline__ __attribute_const__ __u32 ___arch__swab32(__u32 x)
- {
- 	__asm__("bswapl %0" : "=r" (x) : "0" (x));
- 	return x;
-diff -rupN linux-2.4.32/include/asm-x86_64/processor.h linux-2.4.32.gcc4-fixes-v12/include/asm-x86_64/processor.h
---- linux-2.4.32/include/asm-x86_64/processor.h	2005-11-17 13:27:30.000000000 +0100
-+++ linux-2.4.32.gcc4-fixes-v12/include/asm-x86_64/processor.h	2005-11-17 13:32:13.000000000 +0100
-@@ -68,7 +68,6 @@ struct cpuinfo_x86 {
- #define X86_VENDOR_UNKNOWN 0xff
- 
- extern struct cpuinfo_x86 boot_cpu_data;
--extern struct tss_struct init_tss[NR_CPUS];
- 
- #ifdef CONFIG_SMP
- extern struct cpuinfo_x86 cpu_data[];
-@@ -300,6 +299,8 @@ struct tss_struct {
- 	u32 io_bitmap[IO_BITMAP_SIZE];
- } __attribute__((packed)) ____cacheline_aligned;
- 
-+extern struct tss_struct init_tss[NR_CPUS];
-+
- struct thread_struct {
- 	unsigned long	rsp0;
- 	unsigned long	rip;
-diff -rupN linux-2.4.32/include/linux/byteorder/swab.h linux-2.4.32.gcc4-fixes-v12/include/linux/byteorder/swab.h
---- linux-2.4.32/include/linux/byteorder/swab.h	2002-11-30 17:12:31.000000000 +0100
-+++ linux-2.4.32.gcc4-fixes-v12/include/linux/byteorder/swab.h	2005-11-17 13:32:13.000000000 +0100
-@@ -15,6 +15,8 @@
-  *
-  */
- 
-+#include <linux/compiler.h>
-+
- /* casts are necessary for constants, because we never know how for sure
-  * how U/UL/ULL map to __u16, __u32, __u64. At least not in a portable way.
-  */
-@@ -156,7 +158,7 @@
- #endif /* OPTIMIZE */
- 
- 
--static __inline__ __const__ __u16 __fswab16(__u16 x)
-+static __inline__ __attribute_const__ __u16 __fswab16(__u16 x)
- {
- 	return __arch__swab16(x);
- }
-@@ -169,7 +171,7 @@ static __inline__ void __swab16s(__u16 *
- 	__arch__swab16s(addr);
- }
- 
--static __inline__ __const__ __u32 __fswab24(__u32 x)
-+static __inline__ __attribute_const__ __u32 __fswab24(__u32 x)
- {
- 	return __arch__swab24(x);
- }
-@@ -182,7 +184,7 @@ static __inline__ void __swab24s(__u32 *
- 	__arch__swab24s(addr);
- }
- 
--static __inline__ __const__ __u32 __fswab32(__u32 x)
-+static __inline__ __attribute_const__ __u32 __fswab32(__u32 x)
- {
- 	return __arch__swab32(x);
- }
-@@ -196,7 +198,7 @@ static __inline__ void __swab32s(__u32 *
- }
- 
- #ifdef __BYTEORDER_HAS_U64__
--static __inline__ __const__ __u64 __fswab64(__u64 x)
-+static __inline__ __attribute_const__ __u64 __fswab64(__u64 x)
- {
- #  ifdef __SWAB_64_THRU_32__
- 	__u32 h = x >> 32;
-diff -rupN linux-2.4.32/include/linux/compiler.h linux-2.4.32.gcc4-fixes-v12/include/linux/compiler.h
---- linux-2.4.32/include/linux/compiler.h	2004-11-17 18:36:42.000000000 +0100
-+++ linux-2.4.32.gcc4-fixes-v12/include/linux/compiler.h	2005-11-17 13:32:13.000000000 +0100
-@@ -27,6 +27,12 @@
- #define __attribute_used__	/* not implemented */
- #endif /* __GNUC__ */
- 
-+#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96)
-+#define __attribute_const__	__attribute__((__const__))
-+#else
-+#define __attribute_const__	/* unimplemented */
-+#endif
-+
- #if __GNUC__ == 3
- #if __GNUC_MINOR__ >= 1
- # define inline         __inline__ __attribute__((always_inline))
-diff -rupN linux-2.4.32/include/linux/fs.h linux-2.4.32.gcc4-fixes-v12/include/linux/fs.h
---- linux-2.4.32/include/linux/fs.h	2005-04-04 19:56:05.000000000 +0200
-+++ linux-2.4.32.gcc4-fixes-v12/include/linux/fs.h	2005-11-17 13:32:13.000000000 +0100
-@@ -1559,7 +1559,6 @@ static inline int is_mounted(kdev_t dev)
- unsigned long generate_cluster(kdev_t, int b[], int);
- unsigned long generate_cluster_swab32(kdev_t, int b[], int);
- extern kdev_t ROOT_DEV;
--extern char root_device_name[];
- 
- 
- extern void show_buffers(void);
-diff -rupN linux-2.4.32/include/linux/ufs_fs.h linux-2.4.32.gcc4-fixes-v12/include/linux/ufs_fs.h
---- linux-2.4.32/include/linux/ufs_fs.h	2001-11-23 22:40:15.000000000 +0100
-+++ linux-2.4.32.gcc4-fixes-v12/include/linux/ufs_fs.h	2005-11-17 13:32:13.000000000 +0100
-@@ -555,7 +555,6 @@ extern struct buffer_head * ufs_bread (s
- extern struct file_operations ufs_dir_operations;
-         
- /* super.c */
--extern struct file_system_type ufs_fs_type;
- extern void ufs_warning (struct super_block *, const char *, const char *, ...) __attribute__ ((format (printf, 3, 4)));
- extern void ufs_error (struct super_block *, const char *, const char *, ...) __attribute__ ((format (printf, 3, 4)));
- extern void ufs_panic (struct super_block *, const char *, const char *, ...) __attribute__ ((format (printf, 3, 4)));
-diff -rupN linux-2.4.32/include/linux/usbdevice_fs.h linux-2.4.32.gcc4-fixes-v12/include/linux/usbdevice_fs.h
---- linux-2.4.32/include/linux/usbdevice_fs.h	2003-11-29 00:28:14.000000000 +0100
-+++ linux-2.4.32.gcc4-fixes-v12/include/linux/usbdevice_fs.h	2005-11-17 13:32:13.000000000 +0100
-@@ -185,8 +185,6 @@ extern struct file_operations usbdevfs_d
- extern struct file_operations usbdevfs_devices_fops;
- extern struct file_operations usbdevfs_device_file_operations;
- extern struct inode_operations usbdevfs_device_inode_operations;
--extern struct inode_operations usbdevfs_bus_inode_operations;
--extern struct file_operations usbdevfs_bus_file_operations;
- extern void usbdevfs_conn_disc_event(void);
- 
- #endif /* __KERNEL__ */
-diff -rupN linux-2.4.32/include/net/icmp.h linux-2.4.32.gcc4-fixes-v12/include/net/icmp.h
---- linux-2.4.32/include/net/icmp.h	2001-04-28 12:35:26.000000000 +0200
-+++ linux-2.4.32.gcc4-fixes-v12/include/net/icmp.h	2005-11-17 13:32:13.000000000 +0100
-@@ -23,6 +23,7 @@
- 
- #include <net/sock.h>
- #include <net/protocol.h>
-+#include <net/snmp.h>
- 
- struct icmp_err {
-   int		errno;
-diff -rupN linux-2.4.32/include/net/ipv6.h linux-2.4.32.gcc4-fixes-v12/include/net/ipv6.h
---- linux-2.4.32/include/net/ipv6.h	2004-11-17 18:36:43.000000000 +0100
-+++ linux-2.4.32.gcc4-fixes-v12/include/net/ipv6.h	2005-11-17 13:32:13.000000000 +0100
-@@ -101,6 +101,7 @@ struct frag_hdr {
- #ifdef __KERNEL__
- 
- #include <net/sock.h>
-+#include <net/snmp.h>
- 
- /* sysctls */
- extern int sysctl_ipv6_bindv6only;
diff --git a/target/linux/generic-2.4/patches/007-more_gcc4_fixes.patch b/target/linux/generic-2.4/patches/007-more_gcc4_fixes.patch
deleted file mode 100644
index 79acf443d8..0000000000
--- a/target/linux/generic-2.4/patches/007-more_gcc4_fixes.patch
+++ /dev/null
@@ -1,1317 +0,0 @@
-diff -rupN linux-2.4.32/drivers/atm/fore200e.c linux-2.4.32.more-gcc4-fixes-v1/drivers/atm/fore200e.c
---- linux-2.4.32/drivers/atm/fore200e.c	2004-11-17 18:36:41.000000000 +0100
-+++ linux-2.4.32.more-gcc4-fixes-v1/drivers/atm/fore200e.c	2005-11-17 13:31:16.000000000 +0100
-@@ -112,8 +112,8 @@
- #endif
- 
- 
--extern const struct atmdev_ops   fore200e_ops;
--extern const struct fore200e_bus fore200e_bus[];
-+static const struct atmdev_ops   fore200e_ops;
-+static const struct fore200e_bus fore200e_bus[];
- 
- static struct fore200e* fore200e_boards = NULL;
- 
-diff -rupN linux-2.4.32/drivers/atm/horizon.c linux-2.4.32.more-gcc4-fixes-v1/drivers/atm/horizon.c
---- linux-2.4.32/drivers/atm/horizon.c	2004-02-18 15:16:22.000000000 +0100
-+++ linux-2.4.32.more-gcc4-fixes-v1/drivers/atm/horizon.c	2005-11-17 13:31:16.000000000 +0100
-@@ -481,6 +481,7 @@ static inline void dump_skb (char * pref
-   return;
- }
- 
-+#if 0 /* unused and in conflict with <asm-ppc/system.h> */
- static inline void dump_regs (hrz_dev * dev) {
- #ifdef DEBUG_HORIZON
-   PRINTD (DBG_REGS, "CONTROL 0: %#x", rd_regl (dev, CONTROL_0_REG));
-@@ -494,6 +495,7 @@ static inline void dump_regs (hrz_dev * 
- #endif
-   return;
- }
-+#endif
- 
- static inline void dump_framer (hrz_dev * dev) {
- #ifdef DEBUG_HORIZON
-diff -rupN linux-2.4.32/drivers/atm/iphase.c linux-2.4.32.more-gcc4-fixes-v1/drivers/atm/iphase.c
---- linux-2.4.32/drivers/atm/iphase.c	2004-11-17 18:36:41.000000000 +0100
-+++ linux-2.4.32.more-gcc4-fixes-v1/drivers/atm/iphase.c	2005-11-17 13:31:16.000000000 +0100
-@@ -82,6 +82,7 @@ static IADEV *ia_dev[8];
- static struct atm_dev *_ia_dev[8];
- static int iadev_count;
- static void ia_led_timer(unsigned long arg);
-+static int ia_pkt_tx (struct atm_vcc *vcc, struct sk_buff *skb);
- static struct timer_list ia_timer = { function: ia_led_timer };
- struct atm_vcc *vcc_close_que[100];
- static int IA_TX_BUF = DFL_TX_BUFFERS, IA_TX_BUF_SZ = DFL_TX_BUF_SZ;
-@@ -627,7 +628,6 @@ static int ia_que_tx (IADEV *iadev) { 
-    int num_desc;
-    struct atm_vcc *vcc;
-    struct ia_vcc *iavcc;
--   static int ia_pkt_tx (struct atm_vcc *vcc, struct sk_buff *skb);
-    num_desc = ia_avail_descs(iadev);
-    while (num_desc && (skb = skb_dequeue(&iadev->tx_backlog))) {
-       if (!(vcc = ATM_SKB(skb)->vcc)) {
-diff -rupN linux-2.4.32/drivers/atm/iphase.h linux-2.4.32.more-gcc4-fixes-v1/drivers/atm/iphase.h
---- linux-2.4.32/drivers/atm/iphase.h	2003-06-14 13:30:20.000000000 +0200
-+++ linux-2.4.32.more-gcc4-fixes-v1/drivers/atm/iphase.h	2005-11-17 13:31:16.000000000 +0100
-@@ -68,8 +68,6 @@
- #define IF_IADBG_SUNI_STAT      0x02000000        // suni statistics
- #define IF_IADBG_RESET          0x04000000        
- 
--extern	unsigned int	IADebugFlag;
--
- #define IF_IADBG(f) if (IADebugFlag & (f))
- 
- #ifdef  CONFIG_ATM_IA_DEBUG   /* Debug build */
-diff -rupN linux-2.4.32/drivers/block/nbd.c linux-2.4.32.more-gcc4-fixes-v1/drivers/block/nbd.c
---- linux-2.4.32/drivers/block/nbd.c	2005-04-04 19:56:04.000000000 +0200
-+++ linux-2.4.32.more-gcc4-fixes-v1/drivers/block/nbd.c	2005-11-17 13:31:16.000000000 +0100
-@@ -74,6 +74,29 @@ static int requests_in;
- static int requests_out;
- #endif
- 
-+static void
-+nbd_end_request(struct request *req)
-+{
-+	struct buffer_head *bh;
-+	unsigned nsect;
-+	unsigned long flags;
-+	int uptodate = (req->errors == 0) ? 1 : 0;
-+
-+#ifdef PARANOIA
-+	requests_out++;
-+#endif
-+	spin_lock_irqsave(&io_request_lock, flags);
-+	while((bh = req->bh) != NULL) {
-+		nsect = bh->b_size >> 9;
-+		blk_finished_io(nsect);
-+		req->bh = bh->b_reqnext;
-+		bh->b_reqnext = NULL;
-+		bh->b_end_io(bh, uptodate);
-+	}
-+	blkdev_release_request(req);
-+	spin_unlock_irqrestore(&io_request_lock, flags);
-+}
-+
- static int nbd_open(struct inode *inode, struct file *file)
- {
- 	int dev;
-diff -rupN linux-2.4.32/drivers/block/paride/pd.c linux-2.4.32.more-gcc4-fixes-v1/drivers/block/paride/pd.c
---- linux-2.4.32/drivers/block/paride/pd.c	2002-11-30 17:12:24.000000000 +0100
-+++ linux-2.4.32.more-gcc4-fixes-v1/drivers/block/paride/pd.c	2005-11-17 13:31:16.000000000 +0100
-@@ -343,7 +343,14 @@ static char *pd_errs[17] = { "ERR","INDE
- 
- /* kernel glue structures */
- 
--extern struct block_device_operations pd_fops;
-+static struct block_device_operations pd_fops = {
-+	owner:			THIS_MODULE,
-+        open:			pd_open,
-+        release:		pd_release,
-+        ioctl:			pd_ioctl,
-+        check_media_change:	pd_check_media,
-+        revalidate:		pd_revalidate
-+};
- 
- static struct gendisk pd_gendisk = {
- 	major:		PD_MAJOR,
-@@ -355,15 +362,6 @@ static struct gendisk pd_gendisk = {
- 	fops:		&pd_fops,
- };
- 
--static struct block_device_operations pd_fops = {
--	owner:			THIS_MODULE,
--        open:			pd_open,
--        release:		pd_release,
--        ioctl:			pd_ioctl,
--        check_media_change:	pd_check_media,
--        revalidate:		pd_revalidate
--};
--
- void pd_init_units( void )
- 
- {	int	unit, j;
-diff -rupN linux-2.4.32/drivers/block/xd.c linux-2.4.32.more-gcc4-fixes-v1/drivers/block/xd.c
---- linux-2.4.32/drivers/block/xd.c	2002-11-30 17:12:24.000000000 +0100
-+++ linux-2.4.32.more-gcc4-fixes-v1/drivers/block/xd.c	2005-11-17 13:31:16.000000000 +0100
-@@ -125,7 +125,12 @@ static int xd_sizes[XD_MAXDRIVES << 6], 
- static int xd_blocksizes[XD_MAXDRIVES << 6];
- static int xd_maxsect[XD_MAXDRIVES << 6];
- 
--extern struct block_device_operations xd_fops;
-+static struct block_device_operations xd_fops = {
-+	owner:		THIS_MODULE,
-+	open:		xd_open,
-+	release:	xd_release,
-+	ioctl:		xd_ioctl,
-+};
- 
- static struct gendisk xd_gendisk = {
- 	major:		MAJOR_NR,
-@@ -138,13 +143,6 @@ static struct gendisk xd_gendisk = {
- 	fops:		&xd_fops,
- };
- 
--static struct block_device_operations xd_fops = {
--	owner:		THIS_MODULE,
--	open:		xd_open,
--	release:	xd_release,
--	ioctl:		xd_ioctl,
--};
--
- static DECLARE_WAIT_QUEUE_HEAD(xd_wait_int);
- static DECLARE_WAIT_QUEUE_HEAD(xd_wait_open);
- static u8 xd_valid[XD_MAXDRIVES] = { 0,0 };
-diff -rupN linux-2.4.32/drivers/cdrom/sbpcd.c linux-2.4.32.more-gcc4-fixes-v1/drivers/cdrom/sbpcd.c
---- linux-2.4.32/drivers/cdrom/sbpcd.c	2001-11-06 12:12:06.000000000 +0100
-+++ linux-2.4.32.more-gcc4-fixes-v1/drivers/cdrom/sbpcd.c	2005-11-17 13:31:16.000000000 +0100
-@@ -525,6 +525,8 @@ static int sbp_data(struct request *req)
- static int cmd_out(void);
- static int DiskInfo(void);
- static int sbpcd_chk_disk_change(kdev_t);
-+static int cmd_out_T(void);
-+static int cc_DriveReset(void);
- 
- /*==========================================================================*/
- 
-@@ -1213,8 +1215,6 @@ static int get_state_T(void)
- {
- 	int i;
- 	
--	static int cmd_out_T(void);
--
- 	clr_cmdbuf();
- 	D_S[d].n_bytes=1;
- 	drvcmd[0]=CMDT_STATUS;
-@@ -1362,7 +1362,6 @@ static int cmd_out_T(void)
- #define CMDT_TRIES 1000
- #define TEST_FALSE_FF 1
- 	
--	static int cc_DriveReset(void);
- 	int i, j, l=0, m, ntries;
- 	long flags;
- 
-diff -rupN linux-2.4.32/drivers/char/ip2/i2lib.c linux-2.4.32.more-gcc4-fixes-v1/drivers/char/ip2/i2lib.c
---- linux-2.4.32/drivers/char/ip2/i2lib.c	2005-01-19 18:00:53.000000000 +0100
-+++ linux-2.4.32.more-gcc4-fixes-v1/drivers/char/ip2/i2lib.c	2005-11-17 13:31:16.000000000 +0100
-@@ -1262,7 +1262,7 @@ i2RetryFlushOutput(i2ChanStrPtr pCh)
- 
- 	}
- 	if ( old_flags & STOPFL_FLAG ) {
--		if ( 1 == i2QueueCommands(PTYPE_INLINE, pCh, 0, 1, CMD_STOPFL) > 0 ) {
-+		if ( 1 == i2QueueCommands(PTYPE_INLINE, pCh, 0, 1, CMD_STOPFL)) {
- 			old_flags = 0;	// Success - clear flags
- 		}
- 
-diff -rupN linux-2.4.32/drivers/char/rio/rio_linux.c linux-2.4.32.more-gcc4-fixes-v1/drivers/char/rio/rio_linux.c
---- linux-2.4.32/drivers/char/rio/rio_linux.c	2002-02-26 13:26:56.000000000 +0100
-+++ linux-2.4.32.more-gcc4-fixes-v1/drivers/char/rio/rio_linux.c	2005-11-17 13:31:16.000000000 +0100
-@@ -1205,8 +1205,8 @@ static int __init rio_init(void) 
-       hp->Ivec = get_irq (pdev);
-       if (((1 << hp->Ivec) & rio_irqmask) == 0)
-               hp->Ivec = 0;
--      hp->CardP	= (struct DpRam *)
-       hp->Caddr = ioremap(p->RIOHosts[p->RIONumHosts].PaddrP, RIO_WINDOW_LEN);
-+      hp->CardP	= (struct DpRam *) hp->Caddr;
-       hp->Type  = RIO_PCI;
-       hp->Copy  = rio_pcicopy; 
-       hp->Mode  = RIO_PCI_BOOT_FROM_RAM;
-@@ -1277,8 +1277,8 @@ static int __init rio_init(void) 
-       if (((1 << hp->Ivec) & rio_irqmask) == 0) 
-       	hp->Ivec = 0;
-       hp->Ivec |= 0x8000; /* Mark as non-sharable */
--      hp->CardP	= (struct DpRam *)
-       hp->Caddr = ioremap(p->RIOHosts[p->RIONumHosts].PaddrP, RIO_WINDOW_LEN);
-+      hp->CardP	= (struct DpRam *) hp->Caddr;
-       hp->Type  = RIO_PCI;
-       hp->Copy  = rio_pcicopy;
-       hp->Mode  = RIO_PCI_BOOT_FROM_RAM;
-@@ -1329,8 +1329,8 @@ static int __init rio_init(void) 
-     hp->PaddrP = rio_probe_addrs[i];
-     /* There was something about the IRQs of these cards. 'Forget what.--REW */
-     hp->Ivec = 0;
--    hp->CardP = (struct DpRam *)
-     hp->Caddr = ioremap(p->RIOHosts[p->RIONumHosts].PaddrP, RIO_WINDOW_LEN);
-+    hp->CardP = (struct DpRam *) hp->Caddr;
-     hp->Type = RIO_AT;
-     hp->Copy = rio_pcicopy; /* AT card PCI???? - PVDL
-                              * -- YES! this is now a normal copy. Only the 
-diff -rupN linux-2.4.32/drivers/char/sonypi.c linux-2.4.32.more-gcc4-fixes-v1/drivers/char/sonypi.c
---- linux-2.4.32/drivers/char/sonypi.c	2004-04-14 20:22:20.000000000 +0200
-+++ linux-2.4.32.more-gcc4-fixes-v1/drivers/char/sonypi.c	2005-11-17 13:31:16.000000000 +0100
-@@ -60,6 +60,35 @@ static int compat; /* = 0 */
- static int useinput = 1;
- static unsigned long mask = 0xffffffff;
- 
-+static inline int sonypi_ec_write(u8 addr, u8 value) {
-+#ifdef CONFIG_ACPI_EC
-+	if (SONYPI_ACPI_ACTIVE)
-+		return ec_write(addr, value);
-+#endif
-+	wait_on_command(1, inb_p(SONYPI_CST_IOPORT) & 3, ITERATIONS_LONG);
-+	outb_p(0x81, SONYPI_CST_IOPORT);
-+	wait_on_command(0, inb_p(SONYPI_CST_IOPORT) & 2, ITERATIONS_LONG);
-+	outb_p(addr, SONYPI_DATA_IOPORT);
-+	wait_on_command(0, inb_p(SONYPI_CST_IOPORT) & 2, ITERATIONS_LONG);
-+	outb_p(value, SONYPI_DATA_IOPORT);
-+	wait_on_command(0, inb_p(SONYPI_CST_IOPORT) & 2, ITERATIONS_LONG);
-+	return 0;
-+}
-+
-+static inline int sonypi_ec_read(u8 addr, u8 *value) {
-+#ifdef CONFIG_ACPI_EC
-+	if (SONYPI_ACPI_ACTIVE)
-+		return ec_read(addr, value);
-+#endif
-+	wait_on_command(1, inb_p(SONYPI_CST_IOPORT) & 3, ITERATIONS_LONG);
-+	outb_p(0x80, SONYPI_CST_IOPORT);
-+	wait_on_command(0, inb_p(SONYPI_CST_IOPORT) & 2, ITERATIONS_LONG);
-+	outb_p(addr, SONYPI_DATA_IOPORT);
-+	wait_on_command(0, inb_p(SONYPI_CST_IOPORT) & 2, ITERATIONS_LONG);
-+	*value = inb_p(SONYPI_DATA_IOPORT);
-+	return 0;
-+}
-+
- /* Inits the queue */
- static inline void sonypi_initq(void) {
-         sonypi_device.queue.head = sonypi_device.queue.tail = 0;
-diff -rupN linux-2.4.32/drivers/char/sonypi.h linux-2.4.32.more-gcc4-fixes-v1/drivers/char/sonypi.h
---- linux-2.4.32/drivers/char/sonypi.h	2004-04-14 20:22:20.000000000 +0200
-+++ linux-2.4.32.more-gcc4-fixes-v1/drivers/char/sonypi.h	2005-11-17 13:31:16.000000000 +0100
-@@ -401,37 +401,6 @@ struct sonypi_device {
- #define SONYPI_ACPI_ACTIVE 0
- #endif /* CONFIG_ACPI */
- 
--extern int verbose;
--
--static inline int sonypi_ec_write(u8 addr, u8 value) {
--#ifdef CONFIG_ACPI_EC
--	if (SONYPI_ACPI_ACTIVE)
--		return ec_write(addr, value);
--#endif
--	wait_on_command(1, inb_p(SONYPI_CST_IOPORT) & 3, ITERATIONS_LONG);
--	outb_p(0x81, SONYPI_CST_IOPORT);
--	wait_on_command(0, inb_p(SONYPI_CST_IOPORT) & 2, ITERATIONS_LONG);
--	outb_p(addr, SONYPI_DATA_IOPORT);
--	wait_on_command(0, inb_p(SONYPI_CST_IOPORT) & 2, ITERATIONS_LONG);
--	outb_p(value, SONYPI_DATA_IOPORT);
--	wait_on_command(0, inb_p(SONYPI_CST_IOPORT) & 2, ITERATIONS_LONG);
--	return 0;
--}
--
--static inline int sonypi_ec_read(u8 addr, u8 *value) {
--#ifdef CONFIG_ACPI_EC
--	if (SONYPI_ACPI_ACTIVE)
--		return ec_read(addr, value);
--#endif
--	wait_on_command(1, inb_p(SONYPI_CST_IOPORT) & 3, ITERATIONS_LONG);
--	outb_p(0x80, SONYPI_CST_IOPORT);
--	wait_on_command(0, inb_p(SONYPI_CST_IOPORT) & 2, ITERATIONS_LONG);
--	outb_p(addr, SONYPI_DATA_IOPORT);
--	wait_on_command(0, inb_p(SONYPI_CST_IOPORT) & 2, ITERATIONS_LONG);
--	*value = inb_p(SONYPI_DATA_IOPORT);
--	return 0;
--}
--
- #endif /* __KERNEL__ */
- 
- #endif /* _SONYPI_PRIV_H_ */
-diff -rupN linux-2.4.32/drivers/char/sx.c linux-2.4.32.more-gcc4-fixes-v1/drivers/char/sx.c
---- linux-2.4.32/drivers/char/sx.c	2005-01-19 18:00:53.000000000 +0100
-+++ linux-2.4.32.more-gcc4-fixes-v1/drivers/char/sx.c	2005-11-17 13:31:16.000000000 +0100
-@@ -522,13 +522,13 @@ static int sx_busy_wait_eq (struct sx_bo
- 
- 	func_enter ();
- 
--	for (i=0; i < TIMEOUT_1 > 0;i++) 
-+	for (i=0; i < TIMEOUT_1 ;i++) 
- 		if ((read_sx_byte (board, offset) & mask) == correctval) {
- 			func_exit ();
- 			return 1;
- 		}
- 
--	for (i=0; i < TIMEOUT_2 > 0;i++) {
-+	for (i=0; i < TIMEOUT_2 ;i++) {
- 		if ((read_sx_byte (board, offset) & mask) == correctval) {
- 			func_exit ();
- 			return 1;
-@@ -548,13 +548,13 @@ static int sx_busy_wait_neq (struct sx_b
- 
- 	func_enter ();
- 
--	for (i=0; i < TIMEOUT_1 > 0;i++) 
-+	for (i=0; i < TIMEOUT_1 ;i++) 
- 		if ((read_sx_byte (board, offset) & mask) != badval) {
- 			func_exit ();
- 			return 1;
- 		}
- 
--	for (i=0; i < TIMEOUT_2 > 0;i++) {
-+	for (i=0; i < TIMEOUT_2 ;i++) {
- 		if ((read_sx_byte (board, offset) & mask) != badval) {
- 			func_exit ();
- 			return 1;
-diff -rupN linux-2.4.32/drivers/char/tpqic02.c linux-2.4.32.more-gcc4-fixes-v1/drivers/char/tpqic02.c
---- linux-2.4.32/drivers/char/tpqic02.c	2004-08-08 10:56:31.000000000 +0200
-+++ linux-2.4.32.more-gcc4-fixes-v1/drivers/char/tpqic02.c	2005-11-17 13:31:16.000000000 +0100
-@@ -202,6 +202,7 @@ static int mode_access;		/* access mode:
- 
- static int qic02_get_resources(void);
- static void qic02_release_resources(void);
-+static void finish_rw(int cmd);
- 
- /* This is a pointer to the actual kernel buffer where the interrupt routines
-  * read from/write to. It is needed because the DMA channels 1 and 3 cannot
-@@ -820,7 +821,6 @@ static int get_ext_status3(void)
- static int tp_sense(int ignore)
- {
- 	unsigned err = 0, exnr = 0, gs = 0;
--	static void finish_rw(int cmd);
- 
- 	if (TPQDBG(SENSE_TEXT))
- 		printk(TPQIC02_NAME ": tp_sense(ignore=0x%x) enter\n",
-@@ -2173,16 +2173,6 @@ static ssize_t qic02_tape_write(struct f
-  * Don't rewind if the minor bits specify density 0.
-  */
- 
--static int qic02_tape_open(struct inode *inode, struct file *filp)
--{
--	static int qic02_tape_open_no_use_count(struct inode *,
--						struct file *);
--	int open_error;
--
--	open_error = qic02_tape_open_no_use_count(inode, filp);
--	return open_error;
--}
--
- static int qic02_tape_open_no_use_count(struct inode *inode,
- 					struct file *filp)
- {
-@@ -2385,6 +2375,14 @@ static int qic02_tape_open_no_use_count(
- }				/* qic02_tape_open */
- 
- 
-+static int qic02_tape_open(struct inode *inode, struct file *filp)
-+{
-+	int open_error;
-+
-+	open_error = qic02_tape_open_no_use_count(inode, filp);
-+	return open_error;
-+}
-+
- static int qic02_tape_release(struct inode *inode, struct file *filp)
- {
- 	kdev_t dev = inode->i_rdev;
-diff -rupN linux-2.4.32/drivers/i2c/i2c-core.c linux-2.4.32.more-gcc4-fixes-v1/drivers/i2c/i2c-core.c
---- linux-2.4.32/drivers/i2c/i2c-core.c	2005-06-01 18:02:21.000000000 +0200
-+++ linux-2.4.32.more-gcc4-fixes-v1/drivers/i2c/i2c-core.c	2005-11-17 13:31:16.000000000 +0100
-@@ -720,7 +720,7 @@ int i2cproc_cleanup(void)
-  * ----------------------------------------------------
-  */
- 
--int i2c_transfer(struct i2c_adapter * adap, struct i2c_msg msgs[],int num)
-+int i2c_transfer(struct i2c_adapter * adap, struct i2c_msg *msgs,int num)
- {
- 	int ret;
- 
-@@ -750,7 +750,7 @@ int i2c_master_send(struct i2c_client *c
- 		msg.addr   = client->addr;
- 		msg.flags = client->flags & I2C_M_TEN;
- 		msg.len = count;
--		(const char *)msg.buf = buf;
-+		msg.buf = (char *)buf;
- 	
- 		DEB2(printk(KERN_DEBUG "i2c-core.o: master_send: writing %d bytes on %s.\n",
- 			count,client->adapter->name));
-diff -rupN linux-2.4.32/drivers/i2c/i2c-proc.c linux-2.4.32.more-gcc4-fixes-v1/drivers/i2c/i2c-proc.c
---- linux-2.4.32/drivers/i2c/i2c-proc.c	2005-01-19 18:00:53.000000000 +0100
-+++ linux-2.4.32.more-gcc4-fixes-v1/drivers/i2c/i2c-proc.c	2005-11-17 13:31:16.000000000 +0100
-@@ -205,7 +205,7 @@ void i2c_deregister_entry(int id)
- 		table = i2c_entries[id]->ctl_table;
- 		unregister_sysctl_table(i2c_entries[id]);
- 		/* 2-step kfree needed to keep gcc happy about const points */
--		(const char *) temp = table[4].procname;
-+		temp = (char *) table[4].procname;
- 		kfree(temp);
- 		kfree(table);
- 		i2c_entries[id] = NULL;
-@@ -287,7 +287,7 @@ int i2c_proc_chips(ctl_table * ctl, int 
- 			if(copy_to_user(buffer, BUF, buflen))
- 				return -EFAULT;
- 			curbufsize += buflen;
--			(char *) buffer += buflen;
-+			buffer = (char *) buffer + buflen;
- 		}
- 	*lenp = curbufsize;
- 	filp->f_pos += curbufsize;
-@@ -318,7 +318,7 @@ int i2c_sysctl_chips(ctl_table * table, 
- 					     sizeof(struct
- 						    i2c_chips_data)))
- 					return -EFAULT;
--				(char *) oldval +=
-+				oldval = (char *) oldval +
- 				    sizeof(struct i2c_chips_data);
- 				nrels++;
- 			}
-@@ -473,7 +473,7 @@ int i2c_parse_reals(int *nrels, void *bu
- 		       !((ret=get_user(nextchar, (char *) buffer))) &&
- 		       isspace((int) nextchar)) {
- 			bufsize--;
--			((char *) buffer)++;
-+			buffer = (char *) buffer + 1;
- 		}
- 
- 		if (ret)
-@@ -492,7 +492,7 @@ int i2c_parse_reals(int *nrels, void *bu
- 		    && (nextchar == '-')) {
- 			min = 1;
- 			bufsize--;
--			((char *) buffer)++;
-+			buffer = (char *) buffer + 1;
- 		}
- 		if (ret)
- 			return -EFAULT;
-@@ -503,7 +503,7 @@ int i2c_parse_reals(int *nrels, void *bu
- 		       isdigit((int) nextchar)) {
- 			res = res * 10 + nextchar - '0';
- 			bufsize--;
--			((char *) buffer)++;
-+			buffer = (char *) buffer + 1;
- 		}
- 		if (ret)
- 			return -EFAULT;
-@@ -517,7 +517,7 @@ int i2c_parse_reals(int *nrels, void *bu
- 		if (bufsize && (nextchar == '.')) {
- 			/* Skip the dot */
- 			bufsize--;
--			((char *) buffer)++;
-+			buffer = (char *) buffer + 1;
- 
- 			/* Read digits while they are significant */
- 			while (bufsize && (mag > 0) &&
-@@ -526,7 +526,7 @@ int i2c_parse_reals(int *nrels, void *bu
- 				res = res * 10 + nextchar - '0';
- 				mag--;
- 				bufsize--;
--				((char *) buffer)++;
-+				buffer = (char *) buffer + 1;
- 			}
- 			if (ret)
- 				return -EFAULT;
-@@ -542,7 +542,7 @@ int i2c_parse_reals(int *nrels, void *bu
- 		       !((ret=get_user(nextchar, (char *) buffer))) &&
- 		       !isspace((int) nextchar)) {
- 			bufsize--;
--			((char *) buffer)++;
-+			buffer = (char *) buffer + 1;
- 		}
- 		if (ret)
- 			return -EFAULT;
-@@ -574,7 +574,7 @@ int i2c_write_reals(int nrels, void *buf
- 			if(put_user(' ', (char *) buffer))
- 				return -EFAULT;
- 			curbufsize++;
--			((char *) buffer)++;
-+			buffer = (char *) buffer + 1;
- 		}
- 
- 		/* Fill BUF with the representation of the next string */
-@@ -615,7 +615,7 @@ int i2c_write_reals(int nrels, void *buf
- 		if(copy_to_user(buffer, BUF, buflen))
- 			return -EFAULT;
- 		curbufsize += buflen;
--		(char *) buffer += buflen;
-+		buffer = (char *) buffer + buflen;
- 
- 		nr++;
- 	}
-diff -rupN linux-2.4.32/drivers/ide/legacy/hd.c linux-2.4.32.more-gcc4-fixes-v1/drivers/ide/legacy/hd.c
---- linux-2.4.32/drivers/ide/legacy/hd.c	2003-06-14 13:30:22.000000000 +0200
-+++ linux-2.4.32.more-gcc4-fixes-v1/drivers/ide/legacy/hd.c	2005-11-17 13:31:16.000000000 +0100
-@@ -694,7 +694,11 @@ static int hd_release(struct inode * ino
- 	return 0;
- }
- 
--extern struct block_device_operations hd_fops;
-+static struct block_device_operations hd_fops = {
-+	open:		hd_open,
-+	release:	hd_release,
-+	ioctl:		hd_ioctl,
-+};
- 
- static struct gendisk hd_gendisk = {
- 	major:		MAJOR_NR,
-@@ -718,12 +722,6 @@ static void hd_interrupt(int irq, void *
- 	sti();
- }
- 
--static struct block_device_operations hd_fops = {
--	open:		hd_open,
--	release:	hd_release,
--	ioctl:		hd_ioctl,
--};
--
- /*
-  * This is the hard disk IRQ description. The SA_INTERRUPT in sa_flags
-  * means we run the IRQ-handler with interrupts disabled:  this is bad for
-diff -rupN linux-2.4.32/drivers/ieee1394/highlevel.c linux-2.4.32.more-gcc4-fixes-v1/drivers/ieee1394/highlevel.c
---- linux-2.4.32/drivers/ieee1394/highlevel.c	2003-11-29 00:28:11.000000000 +0100
-+++ linux-2.4.32.more-gcc4-fixes-v1/drivers/ieee1394/highlevel.c	2005-11-17 13:31:16.000000000 +0100
-@@ -500,7 +500,7 @@ int highlevel_read(struct hpsb_host *hos
-                                 rcode = RCODE_TYPE_ERROR;
-                         }
- 
--			(u8 *)data += partlength;
-+			data += partlength;
-                         length -= partlength;
-                         addr += partlength;
- 
-@@ -546,7 +546,7 @@ int highlevel_write(struct hpsb_host *ho
-                                 rcode = RCODE_TYPE_ERROR;
-                         }
- 
--			(u8 *)data += partlength;
-+			data += partlength;
-                         length -= partlength;
-                         addr += partlength;
- 
-diff -rupN linux-2.4.32/drivers/isdn/eicon/eicon.h linux-2.4.32.more-gcc4-fixes-v1/drivers/isdn/eicon/eicon.h
---- linux-2.4.32/drivers/isdn/eicon/eicon.h	2002-08-07 00:52:20.000000000 +0200
-+++ linux-2.4.32.more-gcc4-fixes-v1/drivers/isdn/eicon/eicon.h	2005-11-17 13:31:16.000000000 +0100
-@@ -344,7 +344,6 @@ typedef struct eicon_card {
- 
- #include "eicon_idi.h"
- 
--extern eicon_card *cards;
- extern char *eicon_ctype_name[];
- 
- 
-diff -rupN linux-2.4.32/drivers/isdn/hisax/hfc_pci.c linux-2.4.32.more-gcc4-fixes-v1/drivers/isdn/hisax/hfc_pci.c
---- linux-2.4.32/drivers/isdn/hisax/hfc_pci.c	2004-11-17 18:36:42.000000000 +0100
-+++ linux-2.4.32.more-gcc4-fixes-v1/drivers/isdn/hisax/hfc_pci.c	2005-11-17 13:31:16.000000000 +0100
-@@ -1742,7 +1742,7 @@ setup_hfcpci(struct IsdnCard *card)
- 		/* Allocate memory for FIFOS */
- 		/* Because the HFC-PCI needs a 32K physical alignment, we */
- 		/* need to allocate the double mem and align the address */
--		if (!((void *) cs->hw.hfcpci.share_start = kmalloc(65536, GFP_KERNEL))) {
-+		if (!(cs->hw.hfcpci.share_start = kmalloc(65536, GFP_KERNEL))) {
- 			printk(KERN_WARNING "HFC-PCI: Error allocating memory for FIFO!\n");
- 			return 0;
- 		}
-diff -rupN linux-2.4.32/drivers/md/lvm-internal.h linux-2.4.32.more-gcc4-fixes-v1/drivers/md/lvm-internal.h
---- linux-2.4.32/drivers/md/lvm-internal.h	2003-11-29 00:28:12.000000000 +0100
-+++ linux-2.4.32.more-gcc4-fixes-v1/drivers/md/lvm-internal.h	2005-11-17 13:31:16.000000000 +0100
-@@ -45,7 +45,6 @@ extern int loadtime;
- extern const char *const lvm_name;
- 
- 
--extern uint vg_count;
- extern vg_t *vg[];
- extern struct file_operations lvm_chr_fops;
- 
-diff -rupN linux-2.4.32/drivers/media/video/bttvp.h linux-2.4.32.more-gcc4-fixes-v1/drivers/media/video/bttvp.h
---- linux-2.4.32/drivers/media/video/bttvp.h	2003-11-29 00:28:12.000000000 +0100
-+++ linux-2.4.32.more-gcc4-fixes-v1/drivers/media/video/bttvp.h	2005-11-17 13:31:16.000000000 +0100
-@@ -58,7 +58,6 @@ extern int pvr_boot(struct bttv *btv);
- 
- #define BTTV_MAX 16
- extern unsigned int bttv_num;			/* number of Bt848s in use */
--extern struct bttv bttvs[BTTV_MAX];
- 
- #define UNSET -1U
- 
-@@ -203,6 +202,8 @@ struct bttv {
- 	int shutdown;
-         void (*audio_hook)(struct bttv *btv, struct video_audio *v, int set);
- };
-+
-+extern struct bttv bttvs[BTTV_MAX];
- #endif
- 
- #define btwrite(dat,adr)    writel((dat), (char *) (btv->bt848_mem+(adr)))
-diff -rupN linux-2.4.32/drivers/media/video/videodev.c linux-2.4.32.more-gcc4-fixes-v1/drivers/media/video/videodev.c
---- linux-2.4.32/drivers/media/video/videodev.c	2004-08-08 10:56:31.000000000 +0200
-+++ linux-2.4.32.more-gcc4-fixes-v1/drivers/media/video/videodev.c	2005-11-17 13:31:16.000000000 +0100
-@@ -489,7 +489,18 @@ static void videodev_proc_destroy_dev (s
- 
- #endif /* CONFIG_VIDEO_PROC_FS */
- 
--extern struct file_operations video_fops;
-+static struct file_operations video_fops=
-+{
-+	owner:		THIS_MODULE,
-+	llseek:		no_llseek,
-+	read:		video_read,
-+	write:		video_write,
-+	ioctl:		video_ioctl,
-+	mmap:		video_mmap,
-+	open:		video_open,
-+	release:	video_release,
-+	poll:		video_poll,
-+};
- 
- /**
-  *	video_register_device - register video4linux devices
-@@ -633,19 +644,6 @@ void video_unregister_device(struct vide
- }
- 
- 
--static struct file_operations video_fops=
--{
--	owner:		THIS_MODULE,
--	llseek:		no_llseek,
--	read:		video_read,
--	write:		video_write,
--	ioctl:		video_ioctl,
--	mmap:		video_mmap,
--	open:		video_open,
--	release:	video_release,
--	poll:		video_poll,
--};
--
- /*
-  *	Initialise video for linux
-  */
-diff -rupN linux-2.4.32/drivers/net/3c507.c linux-2.4.32.more-gcc4-fixes-v1/drivers/net/3c507.c
---- linux-2.4.32/drivers/net/3c507.c	2003-11-29 00:28:12.000000000 +0100
-+++ linux-2.4.32.more-gcc4-fixes-v1/drivers/net/3c507.c	2005-11-17 13:31:16.000000000 +0100
-@@ -306,6 +306,7 @@ static void el16_tx_timeout (struct net_
- static void hardware_send_packet(struct net_device *dev, void *buf, short length, short pad);
- static void init_82586_mem(struct net_device *dev);
- static struct ethtool_ops netdev_ethtool_ops;
-+static void init_rx_bufs(struct net_device *);
- 
- 
- /* Check for a network adaptor of this type, and return '0' iff one exists.
-@@ -602,7 +603,6 @@ static void el16_interrupt(int irq, void
- 	}
- 
- 	if ((status & 0x0070) != 0x0040 && netif_running(dev)) {
--		static void init_rx_bufs(struct net_device *);
- 		/* The Rx unit is not ready, it must be hung.  Restart the receiver by
- 		   initializing the rx buffers, and issuing an Rx start command. */
- 		if (net_debug)
-diff -rupN linux-2.4.32/drivers/net/acenic.c linux-2.4.32.more-gcc4-fixes-v1/drivers/net/acenic.c
---- linux-2.4.32/drivers/net/acenic.c	2003-08-25 20:07:43.000000000 +0200
-+++ linux-2.4.32.more-gcc4-fixes-v1/drivers/net/acenic.c	2005-11-17 13:31:16.000000000 +0100
-@@ -594,6 +594,7 @@ static struct net_device *root_dev;
- 
- static int probed __initdata = 0;
- 
-+static void ace_watchdog(struct net_device *dev);
- 
- int __devinit acenic_probe (ACE_PROBE_ARG)
- {
-@@ -665,7 +666,6 @@ int __devinit acenic_probe (ACE_PROBE_AR
- 		dev->vlan_rx_kill_vid = ace_vlan_rx_kill_vid;
- #endif
- 		if (1) {
--			static void ace_watchdog(struct net_device *dev);
- 			dev->tx_timeout = &ace_watchdog;
- 			dev->watchdog_timeo = 5*HZ;
- 		}
-diff -rupN linux-2.4.32/drivers/net/arcnet/arcnet.c linux-2.4.32.more-gcc4-fixes-v1/drivers/net/arcnet/arcnet.c
---- linux-2.4.32/drivers/net/arcnet/arcnet.c	2003-08-25 20:07:43.000000000 +0200
-+++ linux-2.4.32.more-gcc4-fixes-v1/drivers/net/arcnet/arcnet.c	2005-11-17 13:31:16.000000000 +0100
-@@ -277,7 +277,7 @@ static void release_arcbuf(struct net_de
- 	BUGLVL(D_DURING) {
- 		BUGMSG(D_DURING, "release_arcbuf: freed #%d; buffer queue is now: ",
- 		       bufnum);
--		for (i = lp->next_buf; i != lp->first_free_buf; i = ++i % 5)
-+		for (i = lp->next_buf; i != lp->first_free_buf; i = (i+1) % 5)
- 			BUGMSG2(D_DURING, "#%d ", lp->buf_queue[i]);
- 		BUGMSG2(D_DURING, "\n");
- 	}
-@@ -310,7 +310,7 @@ static int get_arcbuf(struct net_device 
- 
- 	BUGLVL(D_DURING) {
- 		BUGMSG(D_DURING, "get_arcbuf: got #%d; buffer queue is now: ", buf);
--		for (i = lp->next_buf; i != lp->first_free_buf; i = ++i % 5)
-+		for (i = lp->next_buf; i != lp->first_free_buf; i = (i+1) % 5)
- 			BUGMSG2(D_DURING, "#%d ", lp->buf_queue[i]);
- 		BUGMSG2(D_DURING, "\n");
- 	}
-diff -rupN linux-2.4.32/drivers/net/arlan.c linux-2.4.32.more-gcc4-fixes-v1/drivers/net/arlan.c
---- linux-2.4.32/drivers/net/arlan.c	2002-08-07 00:52:20.000000000 +0200
-+++ linux-2.4.32.more-gcc4-fixes-v1/drivers/net/arlan.c	2005-11-17 13:31:16.000000000 +0100
-@@ -12,7 +12,7 @@
- #  error FIXME: this driver requires a 32-bit platform
- #endif
- 
--static const char *arlan_version = "C.Jennigs 97 & Elmer.Joandi@ut.ee  Oct'98, http://www.ylenurme.ee/~elmer/655/";
-+const char *arlan_version = "C.Jennigs 97 & Elmer.Joandi@ut.ee  Oct'98, http://www.ylenurme.ee/~elmer/655/";
- 
- struct net_device *arlan_device[MAX_ARLANS];
- int last_arlan;
-diff -rupN linux-2.4.32/drivers/net/arlan.h linux-2.4.32.more-gcc4-fixes-v1/drivers/net/arlan.h
---- linux-2.4.32/drivers/net/arlan.h	2001-03-30 19:05:06.000000000 +0200
-+++ linux-2.4.32.more-gcc4-fixes-v1/drivers/net/arlan.h	2005-11-17 13:31:16.000000000 +0100
-@@ -47,7 +47,6 @@ extern int 	init_arlan_proc(void);
- 
- extern struct net_device *arlan_device[MAX_ARLANS];
- extern int	arlan_debug;
--extern char *	siteName;
- extern int	arlan_entry_debug;
- extern int	arlan_exit_debug;
- extern int	testMemory;
-diff -rupN linux-2.4.32/drivers/net/de4x5.c linux-2.4.32.more-gcc4-fixes-v1/drivers/net/de4x5.c
---- linux-2.4.32/drivers/net/de4x5.c	2004-02-18 15:16:23.000000000 +0100
-+++ linux-2.4.32.more-gcc4-fixes-v1/drivers/net/de4x5.c	2005-11-17 13:31:16.000000000 +0100
-@@ -5109,7 +5109,7 @@ mii_get_phy(struct net_device *dev)
-     lp->useMII = TRUE;
- 
-     /* Search the MII address space for possible PHY devices */
--    for (n=0, lp->mii_cnt=0, i=1; !((i==1) && (n==1)); i=(++i)%DE4X5_MAX_MII) {
-+    for (n=0, lp->mii_cnt=0, i=1; !((i==1) && (n==1)); i=(i+1)%DE4X5_MAX_MII) {
- 	lp->phy[lp->active].addr = i;
- 	if (i==0) n++;                             /* Count cycles */
- 	while (de4x5_reset_phy(dev)<0) udelay(100);/* Wait for reset */
-diff -rupN linux-2.4.32/drivers/net/depca.c linux-2.4.32.more-gcc4-fixes-v1/drivers/net/depca.c
---- linux-2.4.32/drivers/net/depca.c	2003-06-14 13:30:23.000000000 +0200
-+++ linux-2.4.32.more-gcc4-fixes-v1/drivers/net/depca.c	2005-11-17 13:31:16.000000000 +0100
-@@ -1746,7 +1746,7 @@ static int load_packet(struct net_device
- 
- 		/* set up the buffer descriptors */
- 		len = (skb->len < ETH_ZLEN) ? ETH_ZLEN : skb->len;
--		for (i = entry; i != end; i = (++i) & lp->txRingMask) {
-+		for (i = entry; i != end; i = (i+1) & lp->txRingMask) {
- 			/* clean out flags */
- 			writel(readl(&lp->tx_ring[i].base) & ~T_FLAGS, &lp->tx_ring[i].base);
- 			writew(0x0000, &lp->tx_ring[i].misc);	/* clears other error flags */
-diff -rupN linux-2.4.32/drivers/net/hamradio/baycom_epp.c linux-2.4.32.more-gcc4-fixes-v1/drivers/net/hamradio/baycom_epp.c
---- linux-2.4.32/drivers/net/hamradio/baycom_epp.c	2002-11-30 17:12:25.000000000 +0100
-+++ linux-2.4.32.more-gcc4-fixes-v1/drivers/net/hamradio/baycom_epp.c	2005-11-17 13:31:16.000000000 +0100
-@@ -60,8 +60,10 @@
- #include <net/ax25.h> 
- #endif /* CONFIG_AX25 || CONFIG_AX25_MODULE */
- 
-+static int my_errno;
-+#define errno my_errno
- #define __KERNEL_SYSCALLS__
--#include <linux/unistd.h>
-+#include <asm/unistd.h>
- 
- /* --------------------------------------------------------------------- */
- 
-@@ -370,8 +372,6 @@ static char eppconfig_path[256] = "/usr/
- 
- static char *envp[] = { "HOME=/", "TERM=linux", "PATH=/usr/bin:/bin", NULL };
- 
--static int errno;
--
- static int exec_eppfpga(void *b)
- {
- 	struct baycom_state *bc = (struct baycom_state *)b;
-diff -rupN linux-2.4.32/drivers/net/hamradio/soundmodem/sm.h linux-2.4.32.more-gcc4-fixes-v1/drivers/net/hamradio/soundmodem/sm.h
---- linux-2.4.32/drivers/net/hamradio/soundmodem/sm.h	2002-08-07 00:52:20.000000000 +0200
-+++ linux-2.4.32.more-gcc4-fixes-v1/drivers/net/hamradio/soundmodem/sm.h	2005-11-17 13:31:16.000000000 +0100
-@@ -151,7 +151,6 @@ struct hardware_info {
- /* --------------------------------------------------------------------- */
- 
- extern const char sm_drvname[];
--extern const char sm_drvinfo[];
- 
- /* --------------------------------------------------------------------- */
- /*
-@@ -353,7 +352,6 @@ extern const struct hardware_info sm_hw_
- 
- extern const struct modem_tx_info *sm_modem_tx_table[];
- extern const struct modem_rx_info *sm_modem_rx_table[];
--extern const struct hardware_info *sm_hardware_table[];
- 
- /* --------------------------------------------------------------------- */
- 
-diff -rupN linux-2.4.32/drivers/net/irda/donauboe.c linux-2.4.32.more-gcc4-fixes-v1/drivers/net/irda/donauboe.c
---- linux-2.4.32/drivers/net/irda/donauboe.c	2003-06-14 13:30:23.000000000 +0200
-+++ linux-2.4.32.more-gcc4-fixes-v1/drivers/net/irda/donauboe.c	2005-11-17 13:31:16.000000000 +0100
-@@ -209,7 +209,11 @@ static int do_probe = DO_PROBE;
- #ifdef CRC_EXPORTED
- extern __u16 const irda_crc16_table[];
- #else
--static __u16 const irda_crc16_table[256] = {
-+/* Our local version of irda_crc16_table must have a unique
-+   name to prevent extern-redefined-as-static compile errors.
-+   This #define redirects the irda_fcs() macro to our version. */
-+#define irda_crc16_table donauboe_irda_crc16_table
-+static __u16 const donauboe_irda_crc16_table[256] = {
-   0x0000, 0x1189, 0x2312, 0x329b, 0x4624, 0x57ad, 0x6536, 0x74bf,
-   0x8c48, 0x9dc1, 0xaf5a, 0xbed3, 0xca6c, 0xdbe5, 0xe97e, 0xf8f7,
-   0x1081, 0x0108, 0x3393, 0x221a, 0x56a5, 0x472c, 0x75b7, 0x643e,
-diff -rupN linux-2.4.32/drivers/net/rrunner.c linux-2.4.32.more-gcc4-fixes-v1/drivers/net/rrunner.c
---- linux-2.4.32/drivers/net/rrunner.c	2003-06-14 13:30:23.000000000 +0200
-+++ linux-2.4.32.more-gcc4-fixes-v1/drivers/net/rrunner.c	2005-11-17 13:31:16.000000000 +0100
-@@ -234,7 +234,7 @@ int __init rr_hippi_probe (struct net_de
- 		 * Don't access any registes before this point!
- 		 */
- #ifdef __BIG_ENDIAN
--		writel(readl(&regs->HostCtrl) | NO_SWAP, &regs->HostCtrl);
-+		writel(readl(&rrpriv->regs->HostCtrl) | NO_SWAP, &rrpriv->regs->HostCtrl);
- #endif
- 		/*
- 		 * Need to add a case for little-endian 64-bit hosts here.
-diff -rupN linux-2.4.32/drivers/net/sk98lin/skvpd.c linux-2.4.32.more-gcc4-fixes-v1/drivers/net/sk98lin/skvpd.c
---- linux-2.4.32/drivers/net/sk98lin/skvpd.c	2005-04-04 19:56:04.000000000 +0200
-+++ linux-2.4.32.more-gcc4-fixes-v1/drivers/net/sk98lin/skvpd.c	2005-11-17 13:31:16.000000000 +0100
-@@ -472,7 +472,7 @@ SK_IOC	IoC)	/* IO Context */
- 	    ((unsigned char)pAC->vpd.vpd_buf[0x40] == 0x3c) &&
- 	    ((unsigned char)pAC->vpd.vpd_buf[0x41] == 0x45) ) {
- 		printk(KERN_INFO "sk98lin : humm... Asus mainboard with buggy VPD ? correcting data.\n");
--		(unsigned char)pAC->vpd.vpd_buf[0x40] = 0x38;
-+		pAC->vpd.vpd_buf[0x40] = 0x38;
- 	}
- 
- 	/* find the end tag of the RO area */
-diff -rupN linux-2.4.32/drivers/net/wan/comx-hw-comx.c linux-2.4.32.more-gcc4-fixes-v1/drivers/net/wan/comx-hw-comx.c
---- linux-2.4.32/drivers/net/wan/comx-hw-comx.c	2002-11-30 17:12:26.000000000 +0100
-+++ linux-2.4.32.more-gcc4-fixes-v1/drivers/net/wan/comx-hw-comx.c	2005-11-17 13:31:16.000000000 +0100
-@@ -92,9 +92,9 @@ struct comx_privdata {
- };
- 
- static struct net_device *memory_used[(COMX_MEM_MAX - COMX_MEM_MIN) / 0x10000];
--extern struct comx_hardware hicomx_hw;
--extern struct comx_hardware comx_hw;
--extern struct comx_hardware cmx_hw;
-+static struct comx_hardware hicomx_hw;
-+static struct comx_hardware comx_hw;
-+static struct comx_hardware cmx_hw;
- 
- static void COMX_interrupt(int irq, void *dev_id, struct pt_regs *regs);
- 
-diff -rupN linux-2.4.32/drivers/net/wan/comx.h linux-2.4.32.more-gcc4-fixes-v1/drivers/net/wan/comx.h
---- linux-2.4.32/drivers/net/wan/comx.h	2001-08-16 23:47:01.000000000 +0200
-+++ linux-2.4.32.more-gcc4-fixes-v1/drivers/net/wan/comx.h	2005-11-17 13:31:16.000000000 +0100
-@@ -212,8 +212,6 @@ typedef u16	word;
- #define	SEEK_END	2
- #endif
- 
--extern struct proc_dir_entry * comx_root_dir;
--
- extern int	comx_register_hardware(struct comx_hardware *comx_hw);
- extern int	comx_unregister_hardware(char *name);
- extern int	comx_register_protocol(struct comx_protocol *comx_line);
-diff -rupN linux-2.4.32/drivers/net/wan/sdla_fr.c linux-2.4.32.more-gcc4-fixes-v1/drivers/net/wan/sdla_fr.c
---- linux-2.4.32/drivers/net/wan/sdla_fr.c	2003-11-29 00:28:12.000000000 +0100
-+++ linux-2.4.32.more-gcc4-fixes-v1/drivers/net/wan/sdla_fr.c	2005-11-17 13:31:16.000000000 +0100
-@@ -3929,7 +3929,7 @@ static int process_udp_mgmt_pkt(sdla_t* 
-                                 break;
-                         }
- 
--			(void *)ptr_trc_el = card->u.f.curr_trc_el;
-+			ptr_trc_el = (void *)card->u.f.curr_trc_el;
- 
-                         buffer_length = 0;
- 			fr_udp_pkt->data[0x00] = 0x00;
-@@ -3980,7 +3980,7 @@ static int process_udp_mgmt_pkt(sdla_t* 
-                                
- 				ptr_trc_el ++;
- 				if((void *)ptr_trc_el > card->u.f.trc_el_last)
--					(void*)ptr_trc_el = card->u.f.trc_el_base;
-+					ptr_trc_el = (void*)card->u.f.trc_el_base;
- 
- 				buffer_length += sizeof(fpipemon_trc_hdr_t);
-                                	if(fpipemon_trc->fpipemon_trc_hdr.data_passed) {
-diff -rupN linux-2.4.32/drivers/net/wan/sdladrv.c linux-2.4.32.more-gcc4-fixes-v1/drivers/net/wan/sdladrv.c
---- linux-2.4.32/drivers/net/wan/sdladrv.c	2001-09-23 21:06:34.000000000 +0200
-+++ linux-2.4.32.more-gcc4-fixes-v1/drivers/net/wan/sdladrv.c	2005-11-17 13:31:16.000000000 +0100
-@@ -1002,7 +1002,7 @@ int sdla_peek (sdlahw_t* hw, unsigned lo
-                         peek_by_4 ((unsigned long)hw->dpmbase + curpos, buf,
- 				curlen);
-                         addr       += curlen;
--                        (char*)buf += curlen;
-+                        buf         = (char*)buf + curlen;
-                         len        -= curlen;
-                 }
- 
-@@ -1086,7 +1086,7 @@ int sdla_poke (sdlahw_t* hw, unsigned lo
-                         poke_by_4 ((unsigned long)hw->dpmbase + curpos, buf,
- 				curlen);
- 	                addr       += curlen;
--                        (char*)buf += curlen;
-+                        buf         = (char*)buf + curlen;
-                         len        -= curlen;
-                 }
- 
-@@ -2127,10 +2127,10 @@ static int detect_s514 (sdlahw_t* hw)
- 		modname, hw->irq);
- 
- 	/* map the physical PCI memory to virtual memory */
--	(void *)hw->dpmbase = ioremap((unsigned long)S514_mem_base_addr,
-+	hw->dpmbase = (void *)ioremap((unsigned long)S514_mem_base_addr,
- 		(unsigned long)MAX_SIZEOF_S514_MEMORY);
-     	/* map the physical control register memory to virtual memory */
--	(void *)hw->vector = ioremap(
-+	hw->vector = (unsigned long)ioremap(
- 		(unsigned long)(S514_mem_base_addr + S514_CTRL_REG_BYTE),
- 		(unsigned long)16);
-      
-diff -rupN linux-2.4.32/drivers/net/wan/sdlamain.c linux-2.4.32.more-gcc4-fixes-v1/drivers/net/wan/sdlamain.c
---- linux-2.4.32/drivers/net/wan/sdlamain.c	2003-11-29 00:28:12.000000000 +0100
-+++ linux-2.4.32.more-gcc4-fixes-v1/drivers/net/wan/sdlamain.c	2005-11-17 13:31:16.000000000 +0100
-@@ -1027,7 +1027,7 @@ static int ioctl_dump (sdla_t* card, sdl
-                       #endif
-                         dump.length     -= len;
-                         dump.offset     += len;
--                        (char*)dump.ptr += len;
-+                        dump.ptr         = (char*)dump.ptr + len;
-                 }
- 		
-                 sdla_mapmem(&card->hw, oldvec);/* restore DPM window position */
-diff -rupN linux-2.4.32/drivers/scsi/advansys.c linux-2.4.32.more-gcc4-fixes-v1/drivers/scsi/advansys.c
---- linux-2.4.32/drivers/scsi/advansys.c	2005-01-19 18:00:53.000000000 +0100
-+++ linux-2.4.32.more-gcc4-fixes-v1/drivers/scsi/advansys.c	2005-11-17 13:31:16.000000000 +0100
-@@ -3456,9 +3456,9 @@ do { \
- /*
-  * Default EEPROM Configuration structure defined in a_init.c.
-  */
--extern ADVEEP_3550_CONFIG Default_3550_EEPROM_Config;
--extern ADVEEP_38C0800_CONFIG Default_38C0800_EEPROM_Config;
--extern ADVEEP_38C1600_CONFIG Default_38C1600_EEPROM_Config;
-+static ADVEEP_3550_CONFIG Default_3550_EEPROM_Config;
-+static ADVEEP_38C0800_CONFIG Default_38C0800_EEPROM_Config;
-+static ADVEEP_38C1600_CONFIG Default_38C1600_EEPROM_Config;
- 
- /*
-  * DvcGetPhyAddr() flag arguments
-@@ -7171,7 +7171,7 @@ asc_isr_callback(ASC_DVC_VAR *asc_dvc_va
-          * then return the number of underrun bytes.
-          */
-         if (scp->request_bufflen != 0 && qdonep->remain_bytes != 0 &&
--            qdonep->remain_bytes <= scp->request_bufflen != 0) {
-+            qdonep->remain_bytes <= scp->request_bufflen) {
-             ASC_DBG1(1, "asc_isr_callback: underrun condition %u bytes\n",
-             (unsigned) qdonep->remain_bytes);
-             scp->resid = qdonep->remain_bytes;
-diff -rupN linux-2.4.32/drivers/scsi/atp870u.c linux-2.4.32.more-gcc4-fixes-v1/drivers/scsi/atp870u.c
---- linux-2.4.32/drivers/scsi/atp870u.c	2002-08-07 00:52:21.000000000 +0200
-+++ linux-2.4.32.more-gcc4-fixes-v1/drivers/scsi/atp870u.c	2005-11-17 13:31:16.000000000 +0100
-@@ -807,19 +807,19 @@ oktosend:
- 			bttl = virt_to_bus(sgpnt[j].address);
- 			l = sgpnt[j].length;
- 			while (l > 0x10000) {
--				(unsigned short int) (((unsigned short int *) (prd))[i + 3]) = 0x0000;
--				(unsigned short int) (((unsigned short int *) (prd))[i + 2]) = 0x0000;
--				(unsigned long) (((unsigned long *) (prd))[i >> 1]) = bttl;
-+				(((unsigned short int *) (prd))[i + 3]) = 0x0000;
-+				(((unsigned short int *) (prd))[i + 2]) = 0x0000;
-+				(((unsigned long *) (prd))[i >> 1]) = bttl;
- 				l -= 0x10000;
- 				bttl += 0x10000;
- 				i += 0x04;
- 			}
--			(unsigned long) (((unsigned long *) (prd))[i >> 1]) = bttl;
--			(unsigned short int) (((unsigned short int *) (prd))[i + 2]) = l;
--			(unsigned short int) (((unsigned short int *) (prd))[i + 3]) = 0;
-+			(((unsigned long *) (prd))[i >> 1]) = bttl;
-+			(((unsigned short int *) (prd))[i + 2]) = l;
-+			(((unsigned short int *) (prd))[i + 3]) = 0;
- 			i += 0x04;
- 		}
--		(unsigned short int) (((unsigned short int *) (prd))[i - 1]) = 0x8000;
-+		(((unsigned short int *) (prd))[i - 1]) = 0x8000;
- 	} else {
- 		/*
- 		 *	For a linear request write a chain of blocks
-@@ -828,16 +828,16 @@ oktosend:
- 		l = workrequ->request_bufflen;
- 		i = 0;
- 		while (l > 0x10000) {
--			(unsigned short int) (((unsigned short int *) (prd))[i + 3]) = 0x0000;
--			(unsigned short int) (((unsigned short int *) (prd))[i + 2]) = 0x0000;
--			(unsigned long) (((unsigned long *) (prd))[i >> 1]) = bttl;
-+			(((unsigned short int *) (prd))[i + 3]) = 0x0000;
-+			(((unsigned short int *) (prd))[i + 2]) = 0x0000;
-+			(((unsigned long *) (prd))[i >> 1]) = bttl;
- 			l -= 0x10000;
- 			bttl += 0x10000;
- 			i += 0x04;
- 		}
--		(unsigned short int) (((unsigned short int *) (prd))[i + 3]) = 0x8000;
--		(unsigned short int) (((unsigned short int *) (prd))[i + 2]) = l;
--		(unsigned long) (((unsigned long *) (prd))[i >> 1]) = bttl;
-+		(((unsigned short int *) (prd))[i + 3]) = 0x8000;
-+		(((unsigned short int *) (prd))[i + 2]) = l;
-+		(((unsigned long *) (prd))[i >> 1]) = bttl;
- 	}
- 	tmpcip = tmpcip + 4;
- 	dev->id[target_id].prdaddru = virt_to_bus(dev->id[target_id].prd_tableu);
-diff -rupN linux-2.4.32/drivers/scsi/cpqfcTSstructs.h linux-2.4.32.more-gcc4-fixes-v1/drivers/scsi/cpqfcTSstructs.h
---- linux-2.4.32/drivers/scsi/cpqfcTSstructs.h	2004-02-18 15:16:23.000000000 +0100
-+++ linux-2.4.32.more-gcc4-fixes-v1/drivers/scsi/cpqfcTSstructs.h	2005-11-17 13:31:16.000000000 +0100
-@@ -965,7 +965,6 @@ void fcSestReset(CPQFCHBA *);
- 
- void cpqfc_pci_unmap(struct pci_dev *pcidev, Scsi_Cmnd * cmd, PTACHYON fcChip, __u32 x_ID);
- 
--extern const __u8 valid_al_pa[];
- extern const int number_of_al_pa;
- 
- #define FCP_RESID_UNDER   0x80000
-diff -rupN linux-2.4.32/drivers/scsi/cpqfcTSworker.c linux-2.4.32.more-gcc4-fixes-v1/drivers/scsi/cpqfcTSworker.c
---- linux-2.4.32/drivers/scsi/cpqfcTSworker.c	2003-06-14 13:30:24.000000000 +0200
-+++ linux-2.4.32.more-gcc4-fixes-v1/drivers/scsi/cpqfcTSworker.c	2005-11-17 13:31:16.000000000 +0100
-@@ -48,6 +48,7 @@
- #include "cpqfcTSchip.h"
- #include "cpqfcTSstructs.h"
- #include "cpqfcTStrigger.h"
-+static const __u8 valid_al_pa[];
- 
- //#define LOGIN_DBG 1
- 
-diff -rupN linux-2.4.32/drivers/sound/wavfront.c linux-2.4.32.more-gcc4-fixes-v1/drivers/sound/wavfront.c
---- linux-2.4.32/drivers/sound/wavfront.c	2001-10-11 13:34:42.000000000 +0200
-+++ linux-2.4.32.more-gcc4-fixes-v1/drivers/sound/wavfront.c	2005-11-17 13:31:16.000000000 +0100
-@@ -2484,11 +2484,11 @@ static int __init detect_wavefront (int 
- #include <linux/fs.h>
- #include <linux/mm.h>
- #include <linux/slab.h>
--#include <linux/unistd.h>
-+static int my_errno;
-+#define errno my_errno
-+#include <asm/unistd.h>
- #include <asm/uaccess.h>
- 
--static int errno; 
--
- static int
- wavefront_download_firmware (char *path)
- 
-diff -rupN linux-2.4.32/drivers/usb/audio.c linux-2.4.32.more-gcc4-fixes-v1/drivers/usb/audio.c
---- linux-2.4.32/drivers/usb/audio.c	2004-11-17 18:36:42.000000000 +0100
-+++ linux-2.4.32.more-gcc4-fixes-v1/drivers/usb/audio.c	2005-11-17 13:31:16.000000000 +0100
-@@ -462,6 +462,7 @@ struct usb_audio_state {
- 
- /* prevent picking up a bogus abs macro */
- #undef abs
-+#define abs my_abs
- static inline int abs(int x)
- {
-         if (x < 0)
-diff -rupN linux-2.4.32/fs/intermezzo/presto.c linux-2.4.32.more-gcc4-fixes-v1/fs/intermezzo/presto.c
---- linux-2.4.32/fs/intermezzo/presto.c	2002-11-30 17:12:28.000000000 +0100
-+++ linux-2.4.32.more-gcc4-fixes-v1/fs/intermezzo/presto.c	2005-11-17 13:31:16.000000000 +0100
-@@ -344,8 +344,8 @@ int izo_mark_cache(struct dentry *dentry
-                 return -EBADF;
-         }
- 
--        ((int)cache->cache_flags) &= and_flag;
--        ((int)cache->cache_flags) |= or_flag;
-+        cache->cache_flags &= and_flag;
-+        cache->cache_flags |= or_flag;
-         if (res)
-                 *res = (int)cache->cache_flags;
- 
-@@ -383,8 +383,8 @@ int izo_mark_fset(struct dentry *dentry,
-                 make_bad_inode(dentry->d_inode);
-                 return -EBADF;
-         }
--        ((int)fset->fset_flags) &= and_flag;
--        ((int)fset->fset_flags) |= or_flag;
-+        fset->fset_flags &= and_flag;
-+        fset->fset_flags |= or_flag;
-         if (res)
-                 *res = (int)fset->fset_flags;
- 
-diff -rupN linux-2.4.32/include/asm-ppc/spinlock.h linux-2.4.32.more-gcc4-fixes-v1/include/asm-ppc/spinlock.h
---- linux-2.4.32/include/asm-ppc/spinlock.h	2003-06-14 13:30:28.000000000 +0200
-+++ linux-2.4.32.more-gcc4-fixes-v1/include/asm-ppc/spinlock.h	2005-11-17 13:31:16.000000000 +0100
-@@ -40,7 +40,6 @@ typedef struct {
- extern void _spin_lock(spinlock_t *lock);
- extern void _spin_unlock(spinlock_t *lock);
- extern int spin_trylock(spinlock_t *lock);
--extern unsigned long __spin_trylock(volatile unsigned long *lock);
- 
- #define spin_lock(lp)			_spin_lock(lp)
- #define spin_unlock(lp)			_spin_unlock(lp)
-diff -rupN linux-2.4.32/include/linux/fsfilter.h linux-2.4.32.more-gcc4-fixes-v1/include/linux/fsfilter.h
---- linux-2.4.32/include/linux/fsfilter.h	2004-11-17 18:36:42.000000000 +0100
-+++ linux-2.4.32.more-gcc4-fixes-v1/include/linux/fsfilter.h	2005-11-17 13:31:16.000000000 +0100
-@@ -70,7 +70,6 @@ struct filter_fs {
- #define FILTER_FS_XFS 3
- #define FILTER_FS_OBDFS 4
- #define FILTER_FS_TMPFS 5
--extern struct filter_fs filter_oppar[FILTER_FS_TYPES];
- 
- struct filter_fs *filter_get_filter_fs(const char *cache_type);
- void filter_setup_journal_ops(struct filter_fs *ops, char *cache_type);
-diff -rupN linux-2.4.32/include/linux/generic_serial.h linux-2.4.32.more-gcc4-fixes-v1/include/linux/generic_serial.h
---- linux-2.4.32/include/linux/generic_serial.h	2002-02-26 13:26:58.000000000 +0100
-+++ linux-2.4.32.more-gcc4-fixes-v1/include/linux/generic_serial.h	2005-11-17 13:31:16.000000000 +0100
-@@ -98,6 +98,4 @@ int  gs_setserial(struct gs_port *port, 
- int  gs_getserial(struct gs_port *port, struct serial_struct *sp);
- void gs_got_break(struct gs_port *port);
- 
--extern int gs_debug;
--
- #endif
-diff -rupN linux-2.4.32/include/linux/i2c.h linux-2.4.32.more-gcc4-fixes-v1/include/linux/i2c.h
---- linux-2.4.32/include/linux/i2c.h	2005-06-01 18:02:21.000000000 +0200
-+++ linux-2.4.32.more-gcc4-fixes-v1/include/linux/i2c.h	2005-11-17 13:31:16.000000000 +0100
-@@ -70,7 +70,7 @@ extern int i2c_master_recv(struct i2c_cl
- 
- /* Transfer num messages.
-  */
--extern int i2c_transfer(struct i2c_adapter *adap, struct i2c_msg msg[],int num);
-+extern int i2c_transfer(struct i2c_adapter *adap, struct i2c_msg *msg,int num);
- 
- /*
-  * Some adapter types (i.e. PCF 8584 based ones) may support slave behaviuor. 
-@@ -197,7 +197,7 @@ struct i2c_algorithm {
- 	   to NULL. If an adapter algorithm can do SMBus access, set 
- 	   smbus_xfer. If set to NULL, the SMBus protocol is simulated
- 	   using common I2C messages */
--	int (*master_xfer)(struct i2c_adapter *adap,struct i2c_msg msgs[], 
-+	int (*master_xfer)(struct i2c_adapter *adap,struct i2c_msg *msgs,
- 	                   int num);
- 	int (*smbus_xfer) (struct i2c_adapter *adap, u16 addr, 
- 	                   unsigned short flags, char read_write,
-diff -rupN linux-2.4.32/include/linux/intermezzo_fs.h linux-2.4.32.more-gcc4-fixes-v1/include/linux/intermezzo_fs.h
---- linux-2.4.32/include/linux/intermezzo_fs.h	2005-01-19 18:00:53.000000000 +0100
-+++ linux-2.4.32.more-gcc4-fixes-v1/include/linux/intermezzo_fs.h	2005-11-17 13:31:16.000000000 +0100
-@@ -321,7 +321,6 @@ int presto_fwrite(struct file *file, con
- int presto_ispresto(struct inode *);
- 
- /* super.c */
--extern struct file_system_type presto_fs_type;
- extern int init_intermezzo_fs(void);
- 
- /* fileset.c */
-diff -rupN linux-2.4.32/include/linux/nbd.h linux-2.4.32.more-gcc4-fixes-v1/include/linux/nbd.h
---- linux-2.4.32/include/linux/nbd.h	2002-08-07 00:52:26.000000000 +0200
-+++ linux-2.4.32.more-gcc4-fixes-v1/include/linux/nbd.h	2005-11-17 13:31:16.000000000 +0100
-@@ -29,34 +29,6 @@
- 
- #include <linux/blk.h>
- 
--#ifdef PARANOIA
--extern int requests_in;
--extern int requests_out;
--#endif
--
--static void
--nbd_end_request(struct request *req)
--{
--	struct buffer_head *bh;
--	unsigned nsect;
--	unsigned long flags;
--	int uptodate = (req->errors == 0) ? 1 : 0;
--
--#ifdef PARANOIA
--	requests_out++;
--#endif
--	spin_lock_irqsave(&io_request_lock, flags);
--	while((bh = req->bh) != NULL) {
--		nsect = bh->b_size >> 9;
--		blk_finished_io(nsect);
--		req->bh = bh->b_reqnext;
--		bh->b_reqnext = NULL;
--		bh->b_end_io(bh, uptodate);
--	}
--	blkdev_release_request(req);
--	spin_unlock_irqrestore(&io_request_lock, flags);
--}
--
- #define MAX_NBD 128
- 
- struct nbd_device {
-diff -rupN linux-2.4.32/include/net/irda/irlan_event.h linux-2.4.32.more-gcc4-fixes-v1/include/net/irda/irlan_event.h
---- linux-2.4.32/include/net/irda/irlan_event.h	1999-03-09 11:36:02.000000000 +0100
-+++ linux-2.4.32.more-gcc4-fixes-v1/include/net/irda/irlan_event.h	2005-11-17 13:31:16.000000000 +0100
-@@ -67,8 +67,6 @@ typedef enum {
- 	IRLAN_WATCHDOG_TIMEOUT,
- } IRLAN_EVENT;
- 
--extern char *irlan_state[];
--
- void irlan_do_client_event(struct irlan_cb *self, IRLAN_EVENT event, 
- 			   struct sk_buff *skb);
- 
-diff -rupN linux-2.4.32/include/net/irda/irttp.h linux-2.4.32.more-gcc4-fixes-v1/include/net/irda/irttp.h
---- linux-2.4.32/include/net/irda/irttp.h	2003-06-14 13:30:29.000000000 +0200
-+++ linux-2.4.32.more-gcc4-fixes-v1/include/net/irda/irttp.h	2005-11-17 13:31:16.000000000 +0100
-@@ -209,6 +209,4 @@ static inline int irttp_is_primary(struc
- 	return(irlap_is_primary(self->lsap->lap->irlap));
- }
- 
--extern struct irttp_cb *irttp;
--
- #endif /* IRTTP_H */
-diff -rupN linux-2.4.32/include/net/irda/qos.h linux-2.4.32.more-gcc4-fixes-v1/include/net/irda/qos.h
---- linux-2.4.32/include/net/irda/qos.h	2001-07-21 11:47:34.000000000 +0200
-+++ linux-2.4.32.more-gcc4-fixes-v1/include/net/irda/qos.h	2005-11-17 13:31:16.000000000 +0100
-@@ -83,7 +83,6 @@ struct qos_info {
- extern int sysctl_max_baud_rate;
- extern int sysctl_max_inactive_time;
- 
--extern __u32 baud_rates[];
- extern __u32 data_sizes[];
- extern __u32 min_turn_times[];
- extern __u32 add_bofs[];
-diff -rupN linux-2.4.32/include/net/udp.h linux-2.4.32.more-gcc4-fixes-v1/include/net/udp.h
---- linux-2.4.32/include/net/udp.h	2005-01-19 18:00:53.000000000 +0100
-+++ linux-2.4.32.more-gcc4-fixes-v1/include/net/udp.h	2005-11-17 13:31:16.000000000 +0100
-@@ -25,6 +25,7 @@
- #include <linux/udp.h>
- #include <linux/poll.h>
- #include <net/sock.h>
-+#include <net/snmp.h>
- 
- #define UDP_HTABLE_SIZE		128
- 
-diff -rupN linux-2.4.32/net/ipv6/ip6_fib.c linux-2.4.32.more-gcc4-fixes-v1/net/ipv6/ip6_fib.c
---- linux-2.4.32/net/ipv6/ip6_fib.c	2005-11-17 13:27:30.000000000 +0100
-+++ linux-2.4.32.more-gcc4-fixes-v1/net/ipv6/ip6_fib.c	2005-11-17 13:31:16.000000000 +0100
-@@ -95,7 +95,7 @@ static __u32	rt_sernum	= 0;
- 
- static struct timer_list ip6_fib_timer = { function: fib6_run_gc };
- 
--static struct fib6_walker_t fib6_walker_list = {
-+struct fib6_walker_t fib6_walker_list = {
- 	&fib6_walker_list, &fib6_walker_list, 
- };
- 
-diff -rupN linux-2.4.32/net/ipv6/sysctl_net_ipv6.c linux-2.4.32.more-gcc4-fixes-v1/net/ipv6/sysctl_net_ipv6.c
---- linux-2.4.32/net/ipv6/sysctl_net_ipv6.c	2004-04-14 20:22:21.000000000 +0200
-+++ linux-2.4.32.more-gcc4-fixes-v1/net/ipv6/sysctl_net_ipv6.c	2005-11-17 13:31:16.000000000 +0100
-@@ -31,17 +31,14 @@ ctl_table ipv6_table[] = {
- 
- #ifdef MODULE
- static struct ctl_table_header *ipv6_sysctl_header;
--static struct ctl_table ipv6_root_table[];
--static struct ctl_table ipv6_net_table[];
- 
--
--ctl_table ipv6_root_table[] = {
--	{CTL_NET, "net", NULL, 0, 0555, ipv6_net_table},
-+static ctl_table ipv6_net_table[] = {
-+	{NET_IPV6, "ipv6", NULL, 0, 0555, ipv6_table},
-         {0}
- };
- 
--ctl_table ipv6_net_table[] = {
--	{NET_IPV6, "ipv6", NULL, 0, 0555, ipv6_table},
-+static ctl_table ipv6_root_table[] = {
-+	{CTL_NET, "net", NULL, 0, 0555, ipv6_net_table},
-         {0}
- };
- 
-diff -rupN linux-2.4.32/net/irda/qos.c linux-2.4.32.more-gcc4-fixes-v1/net/irda/qos.c
---- linux-2.4.32/net/irda/qos.c	2003-11-29 00:28:15.000000000 +0100
-+++ linux-2.4.32.more-gcc4-fixes-v1/net/irda/qos.c	2005-11-17 13:31:16.000000000 +0100
-@@ -97,7 +97,7 @@ static int irlap_param_min_turn_time(voi
- 				     int get);
- 
- __u32 min_turn_times[]  = { 10000, 5000, 1000, 500, 100, 50, 10, 0 }; /* us */
--__u32 baud_rates[]      = { 2400, 9600, 19200, 38400, 57600, 115200, 576000, 
-+static __u32 baud_rates[] = { 2400, 9600, 19200, 38400, 57600, 115200, 576000, 
- 			    1152000, 4000000, 16000000 };           /* bps */
- __u32 data_sizes[]      = { 64, 128, 256, 512, 1024, 2048 };        /* bytes */
- __u32 add_bofs[]        = { 48, 24, 12, 5, 3, 2, 1, 0 };            /* bytes */
-diff -rupN linux-2.4.32/net/khttpd/prototypes.h linux-2.4.32.more-gcc4-fixes-v1/net/khttpd/prototypes.h
---- linux-2.4.32/net/khttpd/prototypes.h	2001-08-16 23:47:03.000000000 +0200
-+++ linux-2.4.32.more-gcc4-fixes-v1/net/khttpd/prototypes.h	2005-11-17 13:31:16.000000000 +0100
-@@ -49,7 +49,6 @@ extern int sysctl_khttpd_stop;
- extern struct khttpd_threadinfo threadinfo[CONFIG_KHTTPD_NUMCPU];
- extern char CurrentTime[];
- extern atomic_t ConnectCount;
--extern struct wait_queue main_wait[CONFIG_KHTTPD_NUMCPU];
- 
- /* misc.c */
- 
-- 
2.30.2