diff options
author | Sean Anderson <seanga2@gmail.com> | 2020-06-24 06:41:13 -0400 |
---|---|---|
committer | Andes <uboot@andestech.com> | 2020-07-01 15:01:21 +0800 |
commit | 082faeb86526b41bb9c5ca8373168e12f2de3a10 (patch) | |
tree | 33df9c0ea326cacd807bb5fd50f33909083e4d5e /include | |
parent | 4a3390f1d3b71f0645eb281176f00cd0d5ac2dcb (diff) | |
download | u-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.h | 4 |
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) |