diff options
Diffstat (limited to 'drivers/i2c/i2c-uniphier-f.c')
-rw-r--r-- | drivers/i2c/i2c-uniphier-f.c | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/drivers/i2c/i2c-uniphier-f.c b/drivers/i2c/i2c-uniphier-f.c index b3349af9e1..aebdcfcec3 100644 --- a/drivers/i2c/i2c-uniphier-f.c +++ b/drivers/i2c/i2c-uniphier-f.c @@ -7,6 +7,7 @@ #include <common.h> #include <linux/types.h> #include <linux/io.h> +#include <linux/sizes.h> #include <asm/errno.h> #include <dm/device.h> #include <dm/root.h> @@ -14,8 +15,6 @@ #include <fdtdec.h> #include <mapmem.h> -DECLARE_GLOBAL_DATA_PTR; - struct uniphier_fi2c_regs { u32 cr; /* control register */ #define I2C_CR_MST (1 << 3) /* master mode */ @@ -112,15 +111,14 @@ static int check_device_busy(struct uniphier_fi2c_regs __iomem *regs) static int uniphier_fi2c_probe(struct udevice *dev) { fdt_addr_t addr; - fdt_size_t size; struct uniphier_fi2c_dev *priv = dev_get_priv(dev); int ret; - addr = fdtdec_get_addr_size(gd->fdt_blob, dev->of_offset, "reg", - &size); - - priv->regs = map_sysmem(addr, size); + addr = dev_get_addr(dev); + if (addr == FDT_ADDR_T_NONE) + return -EINVAL; + priv->regs = map_sysmem(addr, SZ_128); if (!priv->regs) return -ENOMEM; |