Re: [U-Boot] [PATCH] mtd: cfi_flash: Make live-tree compatible

2018-04-16 Thread Stefan Roese

On 28.03.2018 14:38, Mario Six wrote:

Make the cfi_flash driver compatible with a live device tree.

Signed-off-by: Mario Six 
---
  drivers/mtd/cfi_flash.c | 21 +++--
  1 file changed, 11 insertions(+), 10 deletions(-)

diff --git a/drivers/mtd/cfi_flash.c b/drivers/mtd/cfi_flash.c
index da44e6184e..e5509fe353 100644
--- a/drivers/mtd/cfi_flash.c
+++ b/drivers/mtd/cfi_flash.c
@@ -2461,27 +2461,28 @@ unsigned long flash_init(void)
  #ifdef CONFIG_CFI_FLASH /* for driver model */
  static int cfi_flash_probe(struct udevice *dev)
  {
-   void *blob = (void *)gd->fdt_blob;
-   int node = dev_of_offset(dev);
const fdt32_t *cell;
-   phys_addr_t addr;
-   int parent, addrc, sizec;
+   int addrc, sizec;
int len, idx;
  
-	parent = fdt_parent_offset(blob, node);

-   fdt_support_default_count_cells(blob, parent, , );
-   /* decode regs, there may be multiple reg tuples. */
-   cell = fdt_getprop(blob, node, "reg", );
+   addrc = dev_read_addr_cells(dev);
+   sizec = dev_read_size_cells(dev);
+
+   /* decode regs; there may be multiple reg tuples. */
+   cell = dev_read_prop(dev, "reg", );
if (!cell)
return -ENOENT;
idx = 0;
len /= sizeof(fdt32_t);
while (idx < len) {
-   addr = fdt_translate_address((void *)blob,
-node, cell + idx);
+   phys_addr_t addr;
+
+   addr = dev_translate_address(dev, cell + idx);
+
flash_info[cfi_flash_num_flash_banks].dev = dev;
flash_info[cfi_flash_num_flash_banks].base = addr;
cfi_flash_num_flash_banks++;
+
idx += addrc + sizec;
}
gd->bd->bi_flashstart = flash_info[0].base;



Thanks. Looks good, so:

Applied to u-boot-cfi-flash/master.

Thanks,
Stefan
___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


[U-Boot] [PATCH] mtd: cfi_flash: Make live-tree compatible

2018-03-28 Thread Mario Six
Make the cfi_flash driver compatible with a live device tree.

Signed-off-by: Mario Six 
---
 drivers/mtd/cfi_flash.c | 21 +++--
 1 file changed, 11 insertions(+), 10 deletions(-)

diff --git a/drivers/mtd/cfi_flash.c b/drivers/mtd/cfi_flash.c
index da44e6184e..e5509fe353 100644
--- a/drivers/mtd/cfi_flash.c
+++ b/drivers/mtd/cfi_flash.c
@@ -2461,27 +2461,28 @@ unsigned long flash_init(void)
 #ifdef CONFIG_CFI_FLASH /* for driver model */
 static int cfi_flash_probe(struct udevice *dev)
 {
-   void *blob = (void *)gd->fdt_blob;
-   int node = dev_of_offset(dev);
const fdt32_t *cell;
-   phys_addr_t addr;
-   int parent, addrc, sizec;
+   int addrc, sizec;
int len, idx;
 
-   parent = fdt_parent_offset(blob, node);
-   fdt_support_default_count_cells(blob, parent, , );
-   /* decode regs, there may be multiple reg tuples. */
-   cell = fdt_getprop(blob, node, "reg", );
+   addrc = dev_read_addr_cells(dev);
+   sizec = dev_read_size_cells(dev);
+
+   /* decode regs; there may be multiple reg tuples. */
+   cell = dev_read_prop(dev, "reg", );
if (!cell)
return -ENOENT;
idx = 0;
len /= sizeof(fdt32_t);
while (idx < len) {
-   addr = fdt_translate_address((void *)blob,
-node, cell + idx);
+   phys_addr_t addr;
+
+   addr = dev_translate_address(dev, cell + idx);
+
flash_info[cfi_flash_num_flash_banks].dev = dev;
flash_info[cfi_flash_num_flash_banks].base = addr;
cfi_flash_num_flash_banks++;
+
idx += addrc + sizec;
}
gd->bd->bi_flashstart = flash_info[0].base;
-- 
2.16.1

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