Hi Simon,

On 01.12.2016 03:19, Simon Glass wrote:
On 29 November 2016 at 23:24, Stefan Roese <s...@denx.de> wrote:
The currently available functions accessing the 'reg' property of a
device only retrieve the address. Sometimes its also necessary to
retrieve the size described by the 'reg' property. This patch adds
the new function dev_get_addr_size_index() which retrieves both,
the address and the size described by the 'reg' property.

Signed-off-by: Stefan Roese <s...@denx.de>
Cc: Simon Glass <s...@chromium.org>
---
v2:
- Account 'index' in fdtdec_get_addr_size_auto_noparent() as
  spotted by Simon

 drivers/core/device.c | 22 ++++++++++++++++++++++
 include/dm/device.h   | 16 ++++++++++++++++
 2 files changed, 38 insertions(+)


Acked-by: Simon Glass <s...@chromium.org>

But please check below.

diff --git a/drivers/core/device.c b/drivers/core/device.c
index dcf5d9df7d..ed553d70a6 100644
--- a/drivers/core/device.c
+++ b/drivers/core/device.c
@@ -693,6 +693,28 @@ fdt_addr_t dev_get_addr_index(struct udevice *dev, int 
index)
 #endif
 }

+fdt_addr_t dev_get_addr_size_index(struct udevice *dev, int index,
+                                  fdt_size_t *size)
+{
+#if CONFIG_IS_ENABLED(OF_CONTROL)
+       /*
+        * Only get the size in this first call. We'll get the addr in the
+        * next call to the exisiting dev_get_xxx function which handles
+        * all config options.
+        */
+       fdtdec_get_addr_size_auto_noparent(gd->fdt_blob, dev->of_offset,
+                                          "reg", index, size, false);

The return value is not checked here. Is this because the
dev_get_addr_index() function will return the same error?

Exactly. I didn't check the return value deliberately, as mentioned
in the comment above. I thought this would be clear enough but if
you don't think so, I can extend the comment a bit more.

Thanks,
Stefan
_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to