mirror of
https://source.denx.de/u-boot/u-boot.git
synced 2026-06-13 15:03:58 +03:00
dm: Fix OF_BAD_ADDR definition
When OF_LIVE flag is enabled on a 64 bits platform, there is an issue when dev_read_addr() is called and need to perform an address translation using __of_translate_address(). In case of error, __of_translate_address() return's value is OF_BAD_ADDR (wich is defined in include/dm/of.h to ((u64)-1) = 0xffffffffffffffff). The return value of dev_read_addr() is often compared to FDT_ADDR_T_NONE which is defined as (-1U) = 0xffffffff. In this case the comparison is always false. To fix this issue, define FDT_ADDR_T_NONE to (ulong)(-1) in case of AARCH64. Update accordingly related tests. Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com> Reviewed-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
committed by
Simon Glass
parent
a77f468099
commit
9876ae7db6
@@ -286,7 +286,7 @@ static int dm_test_ofnode_get_reg(struct unit_test_state *uts)
|
||||
ut_assert(ofnode_valid(node));
|
||||
addr = ofnode_get_addr(node);
|
||||
size = ofnode_get_size(node);
|
||||
ut_asserteq(FDT_ADDR_T_NONE, addr);
|
||||
ut_asserteq_64(FDT_ADDR_T_NONE, addr);
|
||||
ut_asserteq(FDT_SIZE_T_NONE, size);
|
||||
|
||||
node = ofnode_path("/translation-test@8000/noxlatebus@3,300/dev@42");
|
||||
|
||||
Reference in New Issue
Block a user