i2c: at91: add compatible with microchip,sam9x60-i2c
[platform/kernel/u-boot.git] / drivers / i2c / exynos_hs_i2c.c
index 4fc9d90..39bcacc 100644 (file)
@@ -13,6 +13,7 @@
 #include <asm/arch/clk.h>
 #include <asm/arch/cpu.h>
 #include <asm/arch/pinmux.h>
+#include <asm/global_data.h>
 #include <linux/delay.h>
 #include "s3c24x0_i2c.h"
 
@@ -517,7 +518,7 @@ static int s3c24x0_i2c_probe(struct udevice *dev, uint chip, uint chip_flags)
        return ret != I2C_OK;
 }
 
-static int s3c_i2c_ofdata_to_platdata(struct udevice *dev)
+static int s3c_i2c_of_to_plat(struct udevice *dev)
 {
        const void *blob = gd->fdt_blob;
        struct s3c24x0_i2c_bus *i2c_bus = dev_get_priv(dev);
@@ -525,7 +526,7 @@ static int s3c_i2c_ofdata_to_platdata(struct udevice *dev)
 
        node = dev_of_offset(dev);
 
-       i2c_bus->hsregs = (struct exynos5_hsi2c *)devfdt_get_addr(dev);
+       i2c_bus->hsregs = dev_read_addr_ptr(dev);
 
        i2c_bus->id = pinmux_decode_periph_id(blob, node);
 
@@ -533,7 +534,7 @@ static int s3c_i2c_ofdata_to_platdata(struct udevice *dev)
                dev_read_u32_default(dev, "clock-frequency",
                                     I2C_SPEED_STANDARD_RATE);
        i2c_bus->node = node;
-       i2c_bus->bus_num = dev->seq;
+       i2c_bus->bus_num = dev_seq(dev);
 
        exynos_pinmux_config(i2c_bus->id, PINMUX_FLAG_HS_MODE);
 
@@ -557,7 +558,7 @@ U_BOOT_DRIVER(hs_i2c) = {
        .name   = "i2c_s3c_hs",
        .id     = UCLASS_I2C,
        .of_match = exynos_hs_i2c_ids,
-       .ofdata_to_platdata = s3c_i2c_ofdata_to_platdata,
-       .priv_auto_alloc_size = sizeof(struct s3c24x0_i2c_bus),
+       .of_to_plat = s3c_i2c_of_to_plat,
+       .priv_auto      = sizeof(struct s3c24x0_i2c_bus),
        .ops    = &exynos_hs_i2c_ops,
 };