]> git.sur5r.net Git - u-boot/blobdiff - drivers/i2c/i2c_core.c
Merge branch 'u-boot-microblaze/zynq' into 'u-boot-arm/master'
[u-boot] / drivers / i2c / i2c_core.c
index b067b7c6ff39bd30075f0889151d19e20ef60f83..18d6736601c161f45cb7d81b5eae53bdeaaf6b0b 100644 (file)
@@ -56,25 +56,23 @@ void i2c_reloc_fixup(void)
                /* i2c_init() */
                addr = (unsigned long)i2c_adap_p->init;
                addr += gd->reloc_off;
-               i2c_adap_p->init = (void (*)(int, int))addr;
+               i2c_adap_p->init = (void *)addr;
                /* i2c_probe() */
                addr = (unsigned long)i2c_adap_p->probe;
                addr += gd->reloc_off;
-               i2c_adap_p->probe = (int (*)(uint8_t))addr;
+               i2c_adap_p->probe = (void *)addr;
                /* i2c_read() */
                addr = (unsigned long)i2c_adap_p->read;
                addr += gd->reloc_off;
-               i2c_adap_p->read = (int (*)(uint8_t, uint, int, uint8_t *,
-                                       int))addr;
+               i2c_adap_p->read = (void *)addr;
                /* i2c_write() */
                addr = (unsigned long)i2c_adap_p->write;
                addr += gd->reloc_off;
-               i2c_adap_p->write = (int (*)(uint8_t, uint, int, uint8_t *,
-                                       int))addr;
+               i2c_adap_p->write = (void *)addr;
                /* i2c_set_bus_speed() */
                addr = (unsigned long)i2c_adap_p->set_bus_speed;
                addr += gd->reloc_off;
-               i2c_adap_p->set_bus_speed = (uint (*)(uint))addr;
+               i2c_adap_p->set_bus_speed = (void *)addr;
                /* name */
                addr = (unsigned long)i2c_adap_p->name;
                addr += gd->reloc_off;
@@ -351,7 +349,7 @@ unsigned int i2c_set_bus_speed(unsigned int speed)
                return 0;
        ret = I2C_ADAP->set_bus_speed(I2C_ADAP, speed);
        if (gd->flags & GD_FLG_RELOC)
-               I2C_ADAP->speed = ret;
+               I2C_ADAP->speed = (ret == 0) ? speed : 0;
 
        return ret;
 }