]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
i2c: i2c-gpio: Convert to use APIs which support live DT
authorPatrick Delaunay <patrick.delaunay@st.com>
Thu, 10 Sep 2020 16:25:09 +0000 (18:25 +0200)
committerTom Rini <trini@konsulko.com>
Fri, 23 Oct 2020 17:33:07 +0000 (13:33 -0400)
Use ofnode_ or dev_ APIs instead of fdt_ and fdtdec_ APIs so that the
driver can support live DT.

Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
Reviewed-by: Heiko Schocher <hs@denx.de>
drivers/i2c/i2c-gpio.c

index cfdeadc752cd32be66888400996d1113b0a9b10f..381938c956f726f0ca0e5e16c2f798ead59aa31e 100644 (file)
@@ -18,8 +18,6 @@
 #define I2C_ACK                0
 #define I2C_NOACK      1
 
-DECLARE_GLOBAL_DATA_PTR;
-
 enum {
        PIN_SDA = 0,
        PIN_SCL,
@@ -334,8 +332,6 @@ static int i2c_gpio_drv_probe(struct udevice *dev)
 static int i2c_gpio_ofdata_to_platdata(struct udevice *dev)
 {
        struct i2c_gpio_bus *bus = dev_get_priv(dev);
-       const void *blob = gd->fdt_blob;
-       int node = dev_of_offset(dev);
        int ret;
 
        ret = gpio_request_list_by_name(dev, "gpios", bus->gpios,
@@ -343,12 +339,12 @@ static int i2c_gpio_ofdata_to_platdata(struct udevice *dev)
        if (ret < 0)
                goto error;
 
-       bus->udelay = fdtdec_get_int(blob, node, "i2c-gpio,delay-us",
-                                    DEFAULT_UDELAY);
+       bus->udelay = dev_read_u32_default(dev, "i2c-gpio,delay-us",
+                                          DEFAULT_UDELAY);
 
        bus->get_sda = i2c_gpio_sda_get;
        bus->set_sda = i2c_gpio_sda_set;
-       if (fdtdec_get_bool(blob, node, "i2c-gpio,scl-output-only"))
+       if (dev_read_bool(dev, "i2c-gpio,scl-output-only"))
                bus->set_scl = i2c_gpio_scl_set_output_only;
        else
                bus->set_scl = i2c_gpio_scl_set;