diff mbox series

[scarthgap,3/3] meta-ti-bsp: convert DTB prefix matching into class

Message ID 20250725204908.2549495-3-denis@denix.org
State Under Review
Delegated to: Ryan Eatmon
Headers show
Series [scarthgap,1/3] meta-ti-bsp: move KERNEL_DTBVENDORED settings | expand

Commit Message

Denys Dmytriyenko July 25, 2025, 8:49 p.m. UTC
From: Denys Dmytriyenko <denys@konsulko.com>

Convert devicetree prefix matching functionality into a generic
class that can be used by the kernel and wic images. That way
dynamically generated KERNEL_DEVICETREE list will be the same
when populating /boot dir of rootfs and/or FAT boot partition
of a wic image.

Signed-off-by: Denys Dmytriyenko <denys@konsulko.com>
---
 .../ti-devicetree-prefix.bbclass}                         | 7 +++++--
 meta-ti-bsp/conf/machine/include/ti-soc.inc               | 8 ++++++++
 meta-ti-bsp/recipes-kernel/linux/linux-ti-next_git.bb     | 2 --
 meta-ti-bsp/recipes-kernel/linux/linux-ti-staging_6.12.bb | 1 -
 meta-ti-bsp/recipes-kernel/linux/linux-ti-staging_6.6.bb  | 1 -
 5 files changed, 13 insertions(+), 6 deletions(-)
 rename meta-ti-bsp/{recipes-kernel/linux/ti-kernel-devicetree-prefix.inc => classes/ti-devicetree-prefix.bbclass} (87%)
diff mbox series

Patch

diff --git a/meta-ti-bsp/recipes-kernel/linux/ti-kernel-devicetree-prefix.inc b/meta-ti-bsp/classes/ti-devicetree-prefix.bbclass
similarity index 87%
rename from meta-ti-bsp/recipes-kernel/linux/ti-kernel-devicetree-prefix.inc
rename to meta-ti-bsp/classes/ti-devicetree-prefix.bbclass
index 2d7be280..5858cc65 100644
--- a/meta-ti-bsp/recipes-kernel/linux/ti-kernel-devicetree-prefix.inc
+++ b/meta-ti-bsp/classes/ti-devicetree-prefix.bbclass
@@ -1,3 +1,4 @@ 
+# Generate list of DTBs from the kernel source
 def get_dtbs_from_kernel(dts_dir, dts_prefix):
     import os
     import glob
@@ -17,6 +18,8 @@  def get_dtbs_from_kernel(dts_dir, dts_prefix):
             matches.append(filename)
     return ' '.join(matches)
 
+# Generate list of "merged" DTBs from the kernel source
+# It is TI custom feature to merge DTB overlays into a single DTB
 def get_merge_dtbs_from_kernel(dts_dir, dts_pattern):
     import os
     matches = []
@@ -32,9 +35,9 @@  def get_merge_dtbs_from_kernel(dts_dir, dts_pattern):
                     matches.append(pattern)
     return ' '.join(matches)
 
-KERNEL_DEVICETREE_DTBMERGE ?= ""
-
 KERNEL_DEVICETREE = " \
     ${@get_dtbs_from_kernel('${STAGING_KERNEL_DIR}/arch/${ARCH}/boot/dts/', '${KERNEL_DEVICETREE_PREFIX}')} \
     ${@get_merge_dtbs_from_kernel('${STAGING_KERNEL_DIR}/arch/${ARCH}/boot/dts/', '${KERNEL_DEVICETREE_DTBMERGE}')} \
 "
+
+do_image_wic[depends] += "virtual/kernel:do_shared_workdir"
diff --git a/meta-ti-bsp/conf/machine/include/ti-soc.inc b/meta-ti-bsp/conf/machine/include/ti-soc.inc
index 85f6f338..018e9bfb 100644
--- a/meta-ti-bsp/conf/machine/include/ti-soc.inc
+++ b/meta-ti-bsp/conf/machine/include/ti-soc.inc
@@ -19,3 +19,11 @@  KERNEL_DTBVENDORED = "1"
 
 # Also build a non-vendored list w/o dir structure
 DEVICETREE_FILES = "${@' '.join([os.path.basename(f) for f in d.getVar("KERNEL_DEVICETREE").split()])}"
+
+KERNEL_DEVICETREE_DTBMERGE ?= ""
+
+# Dynamically build DTBs list based on prefix matching
+CLASS_DEVICETREE_PREFIX = "${@ 'ti-devicetree-prefix' if d.getVar('KERNEL_DEVICETREE_PREFIX') else ''}"
+
+KERNEL_CLASSES += "${CLASS_DEVICETREE_PREFIX}"
+IMAGE_CLASSES += "${CLASS_DEVICETREE_PREFIX}"
diff --git a/meta-ti-bsp/recipes-kernel/linux/linux-ti-next_git.bb b/meta-ti-bsp/recipes-kernel/linux/linux-ti-next_git.bb
index 1feb7564..60b647f1 100644
--- a/meta-ti-bsp/recipes-kernel/linux/linux-ti-next_git.bb
+++ b/meta-ti-bsp/recipes-kernel/linux/linux-ti-next_git.bb
@@ -2,8 +2,6 @@  require linux-ti-mainline_git.bb
 
 SUMMARY = "Linux-next kernel for TI devices"
 
-include ${@ 'recipes-kernel/linux/ti-kernel-devicetree-prefix.inc' if d.getVar('KERNEL_DEVICETREE_PREFIX') else ''}
-
 # 6.6.0-rc3+ version
 SRCREV = "6465e260f48790807eef06b583b38ca9789b6072"
 PV = "6.6.0-rc3+git"
diff --git a/meta-ti-bsp/recipes-kernel/linux/linux-ti-staging_6.12.bb b/meta-ti-bsp/recipes-kernel/linux/linux-ti-staging_6.12.bb
index 9235cbc5..aa677cb2 100644
--- a/meta-ti-bsp/recipes-kernel/linux/linux-ti-staging_6.12.bb
+++ b/meta-ti-bsp/recipes-kernel/linux/linux-ti-staging_6.12.bb
@@ -8,7 +8,6 @@  inherit kernel
 
 require recipes-kernel/linux/setup-defconfig.inc
 require recipes-kernel/linux/ti-kernel.inc
-include ${@ 'recipes-kernel/linux/ti-kernel-devicetree-prefix.inc' if d.getVar('KERNEL_DEVICETREE_PREFIX') else ''}
 include ${@ 'recipes-kernel/linux/ti-extras.inc' if d.getVar('TI_EXTRAS') else ''}
 
 DEPENDS += "gmp-native libmpc-native"
diff --git a/meta-ti-bsp/recipes-kernel/linux/linux-ti-staging_6.6.bb b/meta-ti-bsp/recipes-kernel/linux/linux-ti-staging_6.6.bb
index 17bcd300..d6985b27 100644
--- a/meta-ti-bsp/recipes-kernel/linux/linux-ti-staging_6.6.bb
+++ b/meta-ti-bsp/recipes-kernel/linux/linux-ti-staging_6.6.bb
@@ -8,7 +8,6 @@  inherit kernel
 
 require recipes-kernel/linux/setup-defconfig.inc
 require recipes-kernel/linux/ti-kernel.inc
-include ${@ 'recipes-kernel/linux/ti-kernel-devicetree-prefix.inc' if d.getVar('KERNEL_DEVICETREE_PREFIX') else ''}
 include ${@ 'recipes-kernel/linux/ti-extras.inc' if d.getVar('TI_EXTRAS') else ''}
 
 DEPENDS += "gmp-native libmpc-native"