diff -Burbp linux-2.6.10.old/drivers/serial/pxa.c linux-2.6.10/drivers/serial/pxa.c
--- linux-2.6.10.old/drivers/serial/pxa.c	2004-12-24 22:35:28.000000000 +0100
+++ linux-2.6.10/drivers/serial/pxa.c	2006-02-07 18:02:44.000000000 +0100
@@ -600,8 +601,8 @@ serial_pxa_type(struct uart_port *port)
 
 #ifdef CONFIG_SERIAL_PXA_CONSOLE
 
-extern struct uart_pxa_port serial_pxa_ports[];
-extern struct uart_driver serial_pxa_reg;
+static struct uart_pxa_port serial_pxa_ports[];
+static struct uart_driver serial_pxa_reg;
 
 #define BOTH_EMPTY (UART_LSR_TEMT | UART_LSR_THRE)
 
diff -Burbp linux-2.6.10.old/include/asm-arm/arch-pxa/hardware.h linux-2.6.10/include/asm-arm/arch-pxa/hardware.h
--- linux-2.6.10.old/include/asm-arm/arch-pxa/hardware.h	2004-12-24 22:33:49.000000000 +0100
+++ linux-2.6.10/include/asm-arm/arch-pxa/hardware.h	2006-02-07 18:09:00.000000000 +0100
@@ -44,7 +44,7 @@
 
 #ifndef __ASSEMBLY__
 
-#if 0
+#if 1 /* if defined(__GNUC__) && GNUC_MAJOR > 3 ... */
 # define __REG(x)	(*((volatile u32 *)io_p2v(x)))
 #else
 /*
diff -Burbp linux-2.6.10.old/include/linux/fb.h linux-2.6.10/include/linux/fb.h
--- linux-2.6.10.old/include/linux/fb.h	2004-12-24 22:34:30.000000000 +0100
+++ linux-2.6.10/include/linux/fb.h	2006-02-07 16:44:14.000000000 +0100
@@ -857,7 +857,6 @@ extern void fb_destroy_modedb(struct fb_
 
 /* drivers/video/modedb.c */
 #define VESA_MODEDB_SIZE 34
-extern const struct fb_videomode vesa_modes[];
 extern void fb_var_to_videomode(struct fb_videomode *mode,
 				struct fb_var_screeninfo *var);
 extern void fb_videomode_to_var(struct fb_var_screeninfo *var,
@@ -902,6 +901,8 @@ struct fb_videomode {
 	u32 flag;
 };
 
+extern const struct fb_videomode vesa_modes[];
+
 struct fb_modelist {
 	struct list_head list;
 	struct fb_videomode mode;
diff -Burbp linux-2.6.10.old/include/linux/i2c.h linux-2.6.10/include/linux/i2c.h
--- linux-2.6.10.old/include/linux/i2c.h	2004-12-24 22:34:01.000000000 +0100
+++ linux-2.6.10/include/linux/i2c.h	2006-02-07 17:51:28.000000000 +0100
@@ -55,7 +55,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. 
@@ -194,7 +194,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,
