diff options
author | Masahiro Yamada <yamada.masahiro@socionext.com> | 2016-03-24 22:32:39 +0900 |
---|---|---|
committer | Masahiro Yamada <yamada.masahiro@socionext.com> | 2016-04-01 00:17:08 +0900 |
commit | 45a3b1fd6ca524bebf5b9ce771ad1fb12f3514ce (patch) | |
tree | 256dd183b20c96835127debb0b84ab1c2bbe723d /drivers/clk | |
parent | b37a1ccea22d4c700589f716d46dbe4a3c268db1 (diff) |
clk: uniphier: use devm_get_addr() to get base address
Currently, fdtdec_get_addr_size() does not support the address
translation, so it cannot handle device trees with non-straight
"ranges" properties. (This would be a problem with DTS for UniPhier
ARMv8 SoCs.)
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Diffstat (limited to 'drivers/clk')
-rw-r--r-- | drivers/clk/uniphier/clk-uniphier-core.c | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/drivers/clk/uniphier/clk-uniphier-core.c b/drivers/clk/uniphier/clk-uniphier-core.c index e79e0ff689f..25c163b395d 100644 --- a/drivers/clk/uniphier/clk-uniphier-core.c +++ b/drivers/clk/uniphier/clk-uniphier-core.c @@ -8,13 +8,12 @@ #include <mapmem.h> #include <linux/bitops.h> #include <linux/io.h> +#include <linux/sizes.h> #include <clk.h> #include <dm/device.h> #include "clk-uniphier.h" -DECLARE_GLOBAL_DATA_PTR; - static int uniphier_clk_enable(struct udevice *dev, int index) { struct uniphier_clk_priv *priv = dev_get_priv(dev); @@ -133,14 +132,12 @@ int uniphier_clk_probe(struct udevice *dev) { struct uniphier_clk_priv *priv = dev_get_priv(dev); fdt_addr_t addr; - fdt_size_t size; - addr = fdtdec_get_addr_size(gd->fdt_blob, dev->of_offset, "reg", - &size); + addr = dev_get_addr(dev); if (addr == FDT_ADDR_T_NONE) return -EINVAL; - priv->base = map_sysmem(addr, size); + priv->base = map_sysmem(addr, SZ_4K); if (!priv->base) return -ENOMEM; |