Merge branch 'master' of rsync://rsync.denx.de/git/u-boot
[platform/kernel/u-boot.git] / cpu / mpc8220 / i2c.c
index e9d0771..d67936d 100644 (file)
@@ -23,6 +23,8 @@
 
 #include <common.h>
 
+DECLARE_GLOBAL_DATA_PTR;
+
 #ifdef CONFIG_HARD_I2C
 
 #include <mpc8220.h>
@@ -73,8 +75,10 @@ static int mpc_get_fdr (int);
 
 static int mpc_reg_in (volatile u32 * reg)
 {
-       return *reg >> 24;
+       int ret;
+       ret = *reg >> 24;
        __asm__ __volatile__ ("eieio");
+       return ret;
 }
 
 static void mpc_reg_out (volatile u32 * reg, int val, int mask)
@@ -233,7 +237,6 @@ void i2c_init (int speed, int saddr)
 
 static int mpc_get_fdr (int speed)
 {
-       DECLARE_GLOBAL_DATA_PTR;
        static int fdr = -1;
 
        if (fdr == -1) {
@@ -324,7 +327,7 @@ int i2c_read (uchar chip, uint addr, int alen, uchar * buf, int len)
                goto Done;
        }
 
-       if (send_bytes (chip, &xaddr[4 - alen], alen)) {
+       if (send_bytes (chip, (char *)&xaddr[4 - alen], alen)) {
                printf ("i2c_read: send_bytes failed\n");
                goto Done;
        }
@@ -335,7 +338,7 @@ int i2c_read (uchar chip, uint addr, int alen, uchar * buf, int len)
                goto Done;
        }
 
-       if (receive_bytes (chip, buf, len)) {
+       if (receive_bytes (chip, (char *)buf, len)) {
                printf ("i2c_read: receive_bytes failed\n");
                goto Done;
        }
@@ -368,12 +371,12 @@ int i2c_write (uchar chip, uint addr, int alen, uchar * buf, int len)
                goto Done;
        }
 
-       if (send_bytes (chip, &xaddr[4 - alen], alen)) {
+       if (send_bytes (chip, (char *)&xaddr[4 - alen], alen)) {
                printf ("i2c_write: send_bytes failed\n");
                goto Done;
        }
 
-       if (send_bytes (chip, buf, len)) {
+       if (send_bytes (chip, (char *)buf, len)) {
                printf ("i2c_write: send_bytes failed\n");
                goto Done;
        }
@@ -386,7 +389,7 @@ int i2c_write (uchar chip, uint addr, int alen, uchar * buf, int len)
 
 uchar i2c_reg_read (uchar chip, uchar reg)
 {
-       char buf;
+       uchar buf;
 
        i2c_read (chip, reg, 1, &buf, 1);