[PATCH v7 2/3] dm: core: fix dev_read_alias_highest_id() without libfdt

Michael Walle michael at walle.cc
Tue Jun 2 01:47:08 CEST 2020


If CONFIG_DM_DEV_READ_INLINE is set, dev_read_alias_highest_id() calls
libfdt_get_highest_id(). But this function is only available if we have
libfdt compiled in. If its not available return -1, which matches the
return code for no alias found.

This fixes the following error on omapl138_lcdk:
arm-linux-gnueabi-ld.bfd: drivers/built-in.o: in function `dev_read_alias_highest_id':
/home/mw/repo/u-boot/include/dm/read.h:986: undefined reference to `fdtdec_get_alias_highest_id'

Signed-off-by: Michael Walle <michael at walle.cc>
---
 include/dm/read.h | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/include/dm/read.h b/include/dm/read.h
index b952551d55..1c1bc3702f 100644
--- a/include/dm/read.h
+++ b/include/dm/read.h
@@ -983,6 +983,8 @@ static inline u64 dev_translate_dma_address(const struct udevice *dev,
 
 static inline int dev_read_alias_highest_id(const char *stem)
 {
+	if (!CONFIG_IS_ENABLED(OF_LIBFDT))
+		return -1;
 	return fdtdec_get_alias_highest_id(gd->fdt_blob, stem);
 }
 
-- 
2.20.1



More information about the U-Boot mailing list