[yocto] ***SPAM*** Re: [meta-raspberrypi][PATCH v5 3/4] linux-raspberrypi-base.bbclass: support for .dtbo files for dtb overlays

Herve Jourdain herve.jourdain at neuf.fr
Wed Jul 20 07:51:56 PDT 2016


Hi François,

 

Sorry for the late response, I’ve been busy on other things recently.

 

Actually, it’s not a typo, it’s just that we’re using the “overlays” variable for storing 2 things, depending on the value of the parameter “out” of the split_overlays() function:

1. either all the overlays

2. or all the dtb that are not overlays

 

The case you’re mentioning is for “out” being selected, so you want to exclude all the overlays from the dts, and store that in the “overlays” variable (the naming of the variable is a bit unfortunate in this context, I must admit, but I only re-used the existing one).

So now, you not only need to exclude the “-overlay.dtb” files, but also the “.dtbo” files.

So the second pass takes the output of the first pass, in “overlays”, and filters out the “.dtbo” if any.

 

Hope that helps,

 

Hervé

 

From: yocto-bounces at yoctoproject.org [mailto:yocto-bounces at yoctoproject.org] On Behalf Of Francois Muller
Sent: samedi 25 juin 2016 17:48
To: yocto at yoctoproject.org
Subject: ***SPAM*** Re: [yocto] [meta-raspberrypi][PATCH v5 3/4] linux-raspberrypi-base.bbclass: support for .dtbo files for dtb overlays

 

Hi Hervé,

 

I haven't tested your patch yet, but while reviewing the diff I'm a bit surprised about this:

         overlays = oe.utils.str_filter_out('\S+\-overlay\.dtb$', dts, d)

+        overlays = oe.utils.str_filter_out('\S+\.dtbo$', overlays, d)

Shouldn't .dtbo files be filtered out from 'dts' instead of 'overlays' in the added line?

Seems like a typo to me.

 

BR,

François

 

Le vendredi 17 juin 2016 à 23:35 +0800, Herve Jourdain a écrit :

Kernel 4.4.6+ on RaspberryPi support .dtbo files for overlays, instead of .dtb.
Add support for both variants of overlays ("-overlay.dtb" and ".dtbo")
Change which variant needs to be supported based on the kernel version
 
CAUTION: when called from IMAGE_CMD_rpi-sdimg, 'TMPDIR' is not set, causing 'STAGING_KERNEL_BUILDDIR' to not be expanded, causing get_kernelversion_file() to fail!
To avoid this problem, get_dts() and split_overlays() MUST be called with the kernel version parameter set, when called from IMAGE_CMD_rpi-sdimg!
 
Signed-off-by: Herve Jourdain <herve.jourdain at neuf.fr <mailto:herve.jourdain at neuf.fr> >
---
 classes/linux-raspberrypi-base.bbclass | 19 ++++++++++++-------
 1 file changed, 12 insertions(+), 7 deletions(-)
 
diff --git a/classes/linux-raspberrypi-base.bbclass b/classes/linux-raspberrypi-base.bbclass
index 40beef1..930fc44 100644
--- a/classes/linux-raspberrypi-base.bbclass
+++ b/classes/linux-raspberrypi-base.bbclass
@@ -1,7 +1,8 @@
 inherit linux-kernel-base
 
-
 def get_dts(d, ver):
+    import re
+
     staging_dir = d.getVar("STAGING_KERNEL_BUILDDIR", True)
     dts = d.getVar("KERNEL_DEVICETREE", True)
 
@@ -20,20 +21,24 @@ def get_dts(d, ver):
 
     # Always turn off device tree support for kernel's < 3.18
     try:
-        if int(min_ver[0]) <= 3:
-            if int(min_ver[1]) < 18:
-                dts = ""
+        if int(min_ver[0]) >= 4:
+            if (int(min_ver[1]) < 4) or (int(min_ver[1]) == 4 and int(min_ver[2]) < 6):
+                dts = ' '.join([(re.sub(r'(.*)\.dtbo$', r'\1-overlay.dtb', x)) for x in dts.split()])
+        elif int(min_ver[1]) < 18:
+            dts = ""
     except IndexError:
         min_ver = None
 
     return dts
 
 
-def split_overlays(d, out):
-    dts = get_dts(d, None)
+def split_overlays(d, ver, out):
+    dts = get_dts(d, ver)
     if out:
         overlays = oe.utils.str_filter_out('\S+\-overlay\.dtb$', dts, d)
+        overlays = oe.utils.str_filter_out('\S+\.dtbo$', overlays, d)
     else:
-        overlays = oe.utils.str_filter('\S+\-overlay\.dtb$', dts, d)
+        overlays = oe.utils.str_filter('\S+\-overlay\.dtb$', dts, d) + \
+                   " " + oe.utils.str_filter('\S+\.dtbo$', dts, d)
 
     return overlays
-- 
2.7.4
 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.yoctoproject.org/pipermail/yocto/attachments/20160720/aff833eb/attachment.html>


More information about the yocto mailing list