Cleanup for GCC-4.x
diff --git a/cpu/mpc5xxx/i2c.c b/cpu/mpc5xxx/i2c.c
index 845f7c0..044db46 100644
--- a/cpu/mpc5xxx/i2c.c
+++ b/cpu/mpc5xxx/i2c.c
@@ -55,8 +55,9 @@
 
 static int mpc_reg_in(volatile u32 *reg)
 {
-	return *reg >> 24;
+	int ret = *reg >> 24;
 	__asm__ __volatile__ ("eieio");
+	return ret;
 }
 
 static void mpc_reg_out(volatile u32 *reg, int val, int mask)
@@ -298,7 +299,7 @@
 
 int i2c_read(uchar chip, uint addr, int alen, uchar *buf, int len)
 {
-	uchar                xaddr[4];
+	char                xaddr[4];
 	struct mpc5xxx_i2c * regs        = (struct mpc5xxx_i2c *)I2C_BASE;
 	int                  ret         = -1;
 
@@ -329,7 +330,7 @@
 		goto Done;
 	}
 
-	if (receive_bytes(chip, buf, len)) {
+	if (receive_bytes(chip, (char *)buf, len)) {
 		printf("i2c_read: receive_bytes failed\n");
 		goto Done;
 	}
@@ -342,7 +343,7 @@
 
 int i2c_write(uchar chip, uint addr, int alen, uchar *buf, int len)
 {
-	uchar               xaddr[4];
+	char               xaddr[4];
 	struct mpc5xxx_i2c *regs        = (struct mpc5xxx_i2c *)I2C_BASE;
 	int                 ret         = -1;
 
@@ -367,7 +368,7 @@
 		goto Done;
 	}
 
-	if (send_bytes(chip, buf, len)) {
+	if (send_bytes(chip, (char *)buf, len)) {
 		printf("i2c_write: send_bytes failed\n");
 		goto Done;
 	}
@@ -380,7 +381,7 @@
 
 uchar i2c_reg_read(uchar chip, uchar reg)
 {
-	char buf;
+	uchar buf;
 
 	i2c_read(chip, reg, 1, &buf, 1);