[PATCH v2 7/9] blspec: skip all devicetree tests if entry doesn't specify one

Steffen Trumtrar s.trumtrar at pengutronix.de
Mon Jul 10 03:33:53 PDT 2017


If the blspec entry does not specify a devicetree to test against,
it doesn't make any sense to check the compatible of the machine or
find the root node.

Instead of first testing the barebox devicetree check if the entry
specifies one.

Signed-off-by: Steffen Trumtrar <s.trumtrar at pengutronix.de>
---
 common/blspec.c | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/common/blspec.c b/common/blspec.c
index 8132d141ab5c..b258e6600bbe 100644
--- a/common/blspec.c
+++ b/common/blspec.c
@@ -361,6 +361,14 @@ static bool entry_is_of_compatible(struct blspec_entry *entry)
 	const char *compat;
 	char *filename;
 
+	/* If the entry doesn't specifiy a devicetree we are compatible */
+	devicetree = blspec_entry_var_get(entry, "devicetree");
+	if (!devicetree)
+		return true;
+
+	if (!strcmp(devicetree, "none"))
+		return true;
+
 	/* If we don't have a root node every entry is compatible */
 	barebox_root = of_get_root_node();
 	if (!barebox_root)
@@ -375,14 +383,6 @@ static bool entry_is_of_compatible(struct blspec_entry *entry)
 	else
 		abspath = "";
 
-	/* If the entry doesn't specifiy a devicetree we are compatible */
-	devicetree = blspec_entry_var_get(entry, "devicetree");
-	if (!devicetree)
-		return true;
-
-	if (!strcmp(devicetree, "none"))
-		return true;
-
 	filename = basprintf("%s/%s", abspath, devicetree);
 
 	fdt = read_file(filename, &size);
-- 
2.11.0




More information about the barebox mailing list