spmi: Fix sandbox spmi driver memory corruption
[oweals/u-boot.git] / drivers / i2c / tegra_i2c.c
index f4142870b304037273cb405f36e9ad2a39819d4b..2fa07f9c57c455d96121183eff05c02ba7d72b40 100644 (file)
@@ -235,7 +235,7 @@ static int send_recv_packets(struct i2c_bus *i2c_bus,
                        if ((words == 1) && last_bytes) {
                                local = 0;
                                memcpy(&local, dptr, last_bytes);
-                       } else if ((unsigned)dptr & 3) {
+                       } else if ((unsigned long)dptr & 3) {
                                memcpy(&local, dptr, sizeof(u32));
                        } else {
                                local = *wptr;
@@ -258,7 +258,7 @@ static int send_recv_packets(struct i2c_bus *i2c_bus,
                        local = readl(&control->rx_fifo);
                        if ((words == 1) && last_bytes)
                                memcpy(dptr, (char *)&local, last_bytes);
-                       else if ((unsigned)dptr & 3)
+                       else if ((unsigned long)dptr & 3)
                                memcpy(dptr, &local, sizeof(u32));
                        else
                                *wptr = local;
@@ -338,8 +338,8 @@ static int tegra_i2c_probe(struct udevice *dev)
        bool is_dvc;
 
        i2c_bus->id = dev->seq;
-       i2c_bus->type = dev_get_of_data(dev);
-       i2c_bus->regs = (struct i2c_ctlr *)fdtdec_get_addr(blob, node, "reg");
+       i2c_bus->type = dev_get_driver_data(dev);
+       i2c_bus->regs = (struct i2c_ctlr *)dev_get_addr(dev);
 
        /*
         * We don't have a binding for pinmux yet. Leave it out for now. So
@@ -360,7 +360,7 @@ static int tegra_i2c_probe(struct udevice *dev)
        if (i2c_bus->periph_id == -1)
                return -EINVAL;
 
-       is_dvc = dev_get_of_data(dev) == TYPE_DVC;
+       is_dvc = dev_get_driver_data(dev) == TYPE_DVC;
        if (is_dvc) {
                i2c_bus->control =
                        &((struct dvc_ctlr *)i2c_bus->regs)->control;
@@ -469,7 +469,7 @@ int tegra_i2c_get_dvc_bus(struct udevice **busp)
        for (uclass_first_device(UCLASS_I2C, &bus);
             bus;
             uclass_next_device(&bus)) {
-               if (dev_get_of_data(bus) == TYPE_DVC) {
+               if (dev_get_driver_data(bus) == TYPE_DVC) {
                        *busp = bus;
                        return 0;
                }