Re: [U-Boot] [PATCH v2 3/4] regmap: change regmap_init_mem() to take ofnode instead udevice

2018-04-26 Thread Simon Glass
On 18 April 2018 at 21:14, Masahiro Yamada
 wrote:
> Currently, regmap_init_mem() takes a udevice. This requires the node
> has already been associated with a device. It prevents syscon/regmap
> from behaving like those in Linux.
>
> Change the first argumenet to take a device node.
>
> Signed-off-by: Masahiro Yamada 
> Acked-by: Neil Armstrong 
> ---
>
> Changes in v2: None
>
>  arch/arm/mach-aspeed/ast2500/sdram_ast2500.c |  2 +-
>  drivers/core/regmap.c| 11 +--
>  drivers/core/syscon-uclass.c |  2 +-
>  drivers/phy/meson-gxl-usb2.c |  2 +-
>  drivers/phy/meson-gxl-usb3.c |  2 +-
>  drivers/ram/rockchip/dmc-rk3368.c|  2 +-
>  drivers/ram/rockchip/sdram_rk3188.c  |  2 +-
>  drivers/ram/rockchip/sdram_rk322x.c  |  2 +-
>  drivers/ram/rockchip/sdram_rk3288.c  |  2 +-
>  drivers/ram/rockchip/sdram_rk3399.c  |  2 +-
>  drivers/ram/stm32mp1/stm32mp1_ram.c  |  2 +-
>  drivers/reset/reset-meson.c  |  2 +-
>  include/regmap.h |  4 ++--
>  13 files changed, 18 insertions(+), 19 deletions(-)

Reviewed-by: Simon Glass 
___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


[U-Boot] [PATCH v2 3/4] regmap: change regmap_init_mem() to take ofnode instead udevice

2018-04-18 Thread Masahiro Yamada
Currently, regmap_init_mem() takes a udevice. This requires the node
has already been associated with a device. It prevents syscon/regmap
from behaving like those in Linux.

Change the first argumenet to take a device node.

Signed-off-by: Masahiro Yamada 
Acked-by: Neil Armstrong 
---

Changes in v2: None

 arch/arm/mach-aspeed/ast2500/sdram_ast2500.c |  2 +-
 drivers/core/regmap.c| 11 +--
 drivers/core/syscon-uclass.c |  2 +-
 drivers/phy/meson-gxl-usb2.c |  2 +-
 drivers/phy/meson-gxl-usb3.c |  2 +-
 drivers/ram/rockchip/dmc-rk3368.c|  2 +-
 drivers/ram/rockchip/sdram_rk3188.c  |  2 +-
 drivers/ram/rockchip/sdram_rk322x.c  |  2 +-
 drivers/ram/rockchip/sdram_rk3288.c  |  2 +-
 drivers/ram/rockchip/sdram_rk3399.c  |  2 +-
 drivers/ram/stm32mp1/stm32mp1_ram.c  |  2 +-
 drivers/reset/reset-meson.c  |  2 +-
 include/regmap.h |  4 ++--
 13 files changed, 18 insertions(+), 19 deletions(-)

diff --git a/arch/arm/mach-aspeed/ast2500/sdram_ast2500.c 
b/arch/arm/mach-aspeed/ast2500/sdram_ast2500.c
index 6383f72..f267c58 100644
--- a/arch/arm/mach-aspeed/ast2500/sdram_ast2500.c
+++ b/arch/arm/mach-aspeed/ast2500/sdram_ast2500.c
@@ -392,7 +392,7 @@ static int ast2500_sdrammc_ofdata_to_platdata(struct 
udevice *dev)
struct regmap *map;
int ret;
 
-   ret = regmap_init_mem(dev, );
+   ret = regmap_init_mem(dev_ofnode(dev), );
if (ret)
return ret;
 
diff --git a/drivers/core/regmap.c b/drivers/core/regmap.c
index 6c3dbe9..1185a44 100644
--- a/drivers/core/regmap.c
+++ b/drivers/core/regmap.c
@@ -51,7 +51,7 @@ int regmap_init_mem_platdata(struct udevice *dev, fdt_val_t 
*reg, int count,
return 0;
 }
 #else
-int regmap_init_mem(struct udevice *dev, struct regmap **mapp)
+int regmap_init_mem(ofnode node, struct regmap **mapp)
 {
struct regmap_range *range;
struct regmap *map;
@@ -59,14 +59,13 @@ int regmap_init_mem(struct udevice *dev, struct regmap 
**mapp)
int addr_len, size_len, both_len;
int len;
int index;
-   ofnode node = dev_ofnode(dev);
struct resource r;
 
-   addr_len = dev_read_simple_addr_cells(dev->parent);
-   size_len = dev_read_simple_size_cells(dev->parent);
+   addr_len = ofnode_read_simple_addr_cells(ofnode_get_parent(node));
+   size_len = ofnode_read_simple_size_cells(ofnode_get_parent(node));
both_len = addr_len + size_len;
 
-   len = dev_read_size(dev, "reg");
+   len = ofnode_read_size(node, "reg");
if (len < 0)
return len;
len /= sizeof(fdt32_t);
@@ -87,7 +86,7 @@ int regmap_init_mem(struct udevice *dev, struct regmap **mapp)
range->size = r.end - r.start + 1;
} else {
range->start = fdtdec_get_addr_size_fixed(gd->fdt_blob,
-   dev_of_offset(dev), "reg", index,
+   ofnode_to_offset(node), "reg", index,
addr_len, size_len, , true);
range->size = sz;
}
diff --git a/drivers/core/syscon-uclass.c b/drivers/core/syscon-uclass.c
index a69937e..c99409b 100644
--- a/drivers/core/syscon-uclass.c
+++ b/drivers/core/syscon-uclass.c
@@ -41,7 +41,7 @@ static int syscon_pre_probe(struct udevice *dev)
return regmap_init_mem_platdata(dev, plat->reg, ARRAY_SIZE(plat->reg),
>regmap);
 #else
-   return regmap_init_mem(dev, >regmap);
+   return regmap_init_mem(dev_ofnode(dev), >regmap);
 #endif
 }
 
diff --git a/drivers/phy/meson-gxl-usb2.c b/drivers/phy/meson-gxl-usb2.c
index 15c9c89..7242bf6 100644
--- a/drivers/phy/meson-gxl-usb2.c
+++ b/drivers/phy/meson-gxl-usb2.c
@@ -195,7 +195,7 @@ int meson_gxl_usb2_phy_probe(struct udevice *dev)
struct phy_meson_gxl_usb2_priv *priv = dev_get_priv(dev);
int ret;
 
-   ret = regmap_init_mem(dev, >regmap);
+   ret = regmap_init_mem(dev_ofnode(dev), >regmap);
if (ret)
return ret;
 
diff --git a/drivers/phy/meson-gxl-usb3.c b/drivers/phy/meson-gxl-usb3.c
index a385fbd..47a41fd 100644
--- a/drivers/phy/meson-gxl-usb3.c
+++ b/drivers/phy/meson-gxl-usb3.c
@@ -166,7 +166,7 @@ int meson_gxl_usb3_phy_probe(struct udevice *dev)
struct phy_meson_gxl_usb3_priv *priv = dev_get_priv(dev);
int ret;
 
-   ret = regmap_init_mem(dev, >regmap);
+   ret = regmap_init_mem(dev_ofnode(dev), >regmap);
if (ret)
return ret;

diff --git a/drivers/ram/rockchip/dmc-rk3368.c 
b/drivers/ram/rockchip/dmc-rk3368.c
index bfcb1dd..9bf64bf 100644
--- a/drivers/ram/rockchip/dmc-rk3368.c
+++ b/drivers/ram/rockchip/dmc-rk3368.c
@@ -880,7 +880,7 @@