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) # d.getVar() might return 'None' as a normal string # leading to 'is None' check isn't enough. # TODO: Investigate if this is a bug in bitbake if ver is None or ver == "None": ''' if 'ver' isn't set try to grab the kernel version from the kernel staging ''' ver = get_kernelversion_file(staging_dir) if ver is None: return dts # Always turn off device tree support for kernel's < 3.18 if bb.utils.vercmp_string_op(ver, '3.18', '<'): dts = "" elif bb.utils.vercmp_string_op(ver, '4.4.6', '<'): dts = ' '.join([(re.sub(r'(.*)\.dtbo$', r'\1-overlay.dtb', x)) for x in dts.split()]) else: pass # no change to dts variable return dts def split_overlays(d, ver, out): dts = get_dts(d, ver) if out: overlays = oe.utils.str_filter_out('\S+(\-overlay\.dtb|\.dtbo)$', dts, d) else: overlays = oe.utils.str_filter('\S+(\-overlay\.dtb|\.dtbo)$', dts, d) return overlays