mirror of
git://git.yoctoproject.org/meta-raspberrypi.git
synced 2025-07-19 12:59:03 +02:00
linux-raspberrypi-base.bbclass: support for .dtbo files for dtb overlays
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@neuf.fr>
This commit is contained in:
parent
09b76a43f6
commit
d98f2a74db
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue
Block a user