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.jourd...@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 >
-- _______________________________________________ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto