path: root/meta/classes
diff options
authorJaewon Lee <>2018-12-14 09:54:00 -0800
committerRichard Purdie <>2019-03-09 14:41:20 +0000
commitbb1629820443bfedc72378a7c88f0656a2f3f7f1 (patch)
treeaedf07447b24bbd07a5275c28a45af24ddd1ec48 /meta/classes
parent3f0cada40a9f70704a3dc78daddb4a8cbd7dee80 (diff)
device-tree.bbclass: Add support to compile overlays separately
Currently only dts files are considered when looping through files to compile. Modifying the loop to compile other files that are overlays. Also surrounding this check with a try block as the function to find overlays parses the file for a '/plugin/' tag, and there may be files in the DT_FILES_PATH directory that are not parseable. Signed-off-by: Jaewon Lee <> Signed-off-by: Alejandro Enedino Hernandez Samaniego <> Signed-off-by: Manjukumar Matha <> Signed-off-by: Richard Purdie <>
Diffstat (limited to 'meta/classes')
1 files changed, 5 insertions, 2 deletions
diff --git a/meta/classes/devicetree.bbclass b/meta/classes/devicetree.bbclass
index e1f377911d..5c03e4b0fd 100644
--- a/meta/classes/devicetree.bbclass
+++ b/meta/classes/devicetree.bbclass
@@ -122,9 +122,12 @@ python devicetree_do_compile() {
includes = expand_includes("DT_INCLUDE", d)
listpath = d.getVar("DT_FILES_PATH")
for dts in os.listdir(listpath):
- if not dts.endswith(".dts"):
- continue # skip non-.dts files
dtspath = os.path.join(listpath, dts)
+ try:
+ if not(os.path.isfile(dtspath)) or not(dts.endswith(".dts") or devicetree_source_is_overlay(dtspath)):
+ continue # skip non-.dts files and non-overlay files
+ except:
+ continue # skip if can't determine if overlay
devicetree_compile(dtspath, includes, d)