gpio: bcm6345: convert to use live dt
authorÁlvaro Fernández Rojas <noltari@gmail.com>
Thu, 22 Mar 2018 18:39:32 +0000 (19:39 +0100)
committerDaniel Schwierzeck <daniel.schwierzeck@gmail.com>
Fri, 1 Jun 2018 13:56:02 +0000 (15:56 +0200)
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
drivers/gpio/bcm6345_gpio.c

index 1a507fce8e7c6dcbc4641a3bf0f48d6742afd9f3..d1f6cfa8405d6f0e4ae9ff184f8fc3dfa37e7904 100644 (file)
@@ -13,8 +13,6 @@
 #include <asm/gpio.h>
 #include <asm/io.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 struct bcm6345_gpio_priv {
        void __iomem *reg_dirout;
        void __iomem *reg_data;
@@ -90,22 +88,16 @@ static int bcm6345_gpio_probe(struct udevice *dev)
 {
        struct gpio_dev_priv *uc_priv = dev_get_uclass_priv(dev);
        struct bcm6345_gpio_priv *priv = dev_get_priv(dev);
-       fdt_addr_t data_addr, dirout_addr;
-       fdt_size_t data_size, dirout_size;
 
-       dirout_addr = devfdt_get_addr_size_index(dev, 0, &dirout_size);
-       if (dirout_addr == FDT_ADDR_T_NONE)
+       priv->reg_dirout = dev_remap_addr_index(dev, 0);
+       if (!priv->reg_dirout)
                return -EINVAL;
 
-       data_addr = devfdt_get_addr_size_index(dev, 1, &data_size);
-       if (data_addr == FDT_ADDR_T_NONE)
+       priv->reg_data = dev_remap_addr_index(dev, 1);
+       if (!priv->reg_data)
                return -EINVAL;
 
-       priv->reg_data = ioremap(data_addr, data_size);
-       priv->reg_dirout = ioremap(dirout_addr, dirout_size);
-
-       uc_priv->gpio_count = fdtdec_get_uint(gd->fdt_blob, dev_of_offset(dev),
-                                             "ngpios", 32);
+       uc_priv->gpio_count = dev_read_u32_default(dev, "ngpios", 32);
        uc_priv->bank_name = dev->name;
 
        return 0;