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

Francois Muller forlorn18 at gmail.com
Mon Jul 25 07:33:06 PDT 2016


Hi Hervé,

Thanks for the explanation, I actually missed the 2nd pass aspect of
the process.

Your patch is running ok for me (4.1.21 and 4.4.13) after having found
and applied the required linux-dtb.inc patch you prepared (for the
record, it is named "[PATCH v3] Support for .dtbo files for dtb
overlays" in oe-core list).

Nevertheless, I've some remarks about the process that I'll emit on
your latest patch version (v6) for consistency.

BR,
François


Le mercredi 20 juillet 2016 à 16:51 +0200, Herve Jourdain a écrit :
> > > > > > > > > > > > > > > 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 overlays2. 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>---
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.bbclassindex 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/20160725/f02f2d25/attachment.html>


More information about the yocto mailing list