aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorSean Anderson <seanga2@gmail.com>2020-06-24 06:41:13 -0400
committerAndes <uboot@andestech.com>2020-07-01 15:01:21 +0800
commit082faeb86526b41bb9c5ca8373168e12f2de3a10 (patch)
tree33df9c0ea326cacd807bb5fd50f33909083e4d5e /include
parent4a3390f1d3b71f0645eb281176f00cd0d5ac2dcb (diff)
downloadu-boot-082faeb86526b41bb9c5ca8373168e12f2de3a10.zip
u-boot-082faeb86526b41bb9c5ca8373168e12f2de3a10.tar.gz
u-boot-082faeb86526b41bb9c5ca8373168e12f2de3a10.tar.bz2
dm: Fix error handling for dev_read_addr_ptr
dev_read_addr_ptr had different semantics depending on whether OF_LIVE was enabled. This patch converts both implementations to return NULL on error, and converts all call sites which check for FDT_ADDR_T_NONE to check for NULL instead. This patch also removes the call to map_physmem, since we have dev_remap_addr* for those semantics. Signed-off-by: Sean Anderson <seanga2@gmail.com> Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'include')
-rw-r--r--include/dm/read.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/include/dm/read.h b/include/dm/read.h
index 3711386..f02ec95 100644
--- a/include/dm/read.h
+++ b/include/dm/read.h
@@ -799,7 +799,9 @@ static inline fdt_addr_t dev_read_addr(const struct udevice *dev)
static inline void *dev_read_addr_ptr(const struct udevice *dev)
{
- return devfdt_get_addr_ptr(dev);
+ void *addr = devfdt_get_addr_ptr(dev);
+
+ return ((fdt_addr_t)(uintptr_t)addr == FDT_ADDR_T_NONE) ? NULL : addr;
}
static inline fdt_addr_t dev_read_addr_pci(const struct udevice *dev)