Hello Denys,

On 8/28/2026 11:14 PM, Denys Dmytriyenko wrote:
On Fri, Aug 28, 2026 at 08:28:34PM +0530, Hari Prasath via 
lists.yoctoproject.org wrote:
The TI vendor kernel's dma-heap.h carries DMA_HEAP_IOCTL_EXPORT in
downstream. The standard header provided by linux-libc-headers' wouldn't
have the custom changes.Copy it straight from the kernel's staged
source tree (STAGING_KERNEL_DIR) into a separate /usr/include/ti/linux
path instead, for userspace code that needs it.

Signed-off-by: Hari Prasath Gujulan Elango <[email protected]>
---
        v1->v2: Address review comments in commit message and recipe description
        v2->v3: Fix the patch subject prefix

  .../ti-vendor-kernel-headers_1.0.bb             | 17 +++++++++++++++++
  1 file changed, 17 insertions(+)
  create mode 100644 
meta-ti-bsp/recipes-kernel/ti-vendor-kernel-headers/ti-vendor-kernel-headers_1.0.bb

diff --git 
a/meta-ti-bsp/recipes-kernel/ti-vendor-kernel-headers/ti-vendor-kernel-headers_1.0.bb
 
b/meta-ti-bsp/recipes-kernel/ti-vendor-kernel-headers/ti-vendor-kernel-headers_1.0.bb
new file mode 100644
index 000000000..5d570689a
--- /dev/null
+++ 
b/meta-ti-bsp/recipes-kernel/ti-vendor-kernel-headers/ti-vendor-kernel-headers_1.0.bb
@@ -0,0 +1,17 @@
+SUMMARY = "TI vendor kernel uapi headers not present in mainline 
linux-libc-headers"
+DESCRIPTION = "Copies select UAPI headers straight from the TI vendor kernel 
source \
+tree into a TI-specific include path (/usr/include/ti/linux), for userspace 
code \
+that needs them but can't rely on linux-libc-headers carrying TI-only 
additions."
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = 
"file://${COMMON_LICENSE_DIR}/GPL-2.0-only;md5=801f80980d171dd6425610833a22dbe6"
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+do_configure[depends] += "virtual/kernel:do_shared_workdir"

Why do you need this dependency for do_configure? Moreover, since you don't
have do_configure nor do_compile, you might want to mark them as "noexec"



Thanks for catching this, will fix in v4. do_install() is where the vendor tree dependency needs to be,not in do_configure(),will drop it and mark it as a noexec.I see the cpsw9g-eth-fw_git.bb uses the same method.

+do_install[depends] += "virtual/kernel:do_shared_workdir"

How do you ensure that virtual/kernel is the TI vendor kernel? If it's not,
you'll be copying the original unmodified header into the ti/linux location.



okay so virtual/kernel can resolve to linux-ti-mainline or linux-bb.org or anything set by BSP_KERNEL_PROVIDER defined in per machine conf ? I don't have a complete understanding of how these are organized in our Yocto project layers. Let me check how to restrict to only the TI vendor kernel where this header file change is patched.

Regards,
Hari

+
+do_install() {
+    install -d ${D}${includedir}/ti/linux
+    install -m 0644 ${STAGING_KERNEL_DIR}/include/uapi/linux/dma-heap.h 
${D}${includedir}/ti/linux/dma-heap.h
+}
+
--
2.34.1

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#20309): 
https://lists.yoctoproject.org/g/meta-ti/message/20309
Mute This Topic: https://lists.yoctoproject.org/mt/120973161/21656
Group Owner: [email protected]
Unsubscribe: https://lists.yoctoproject.org/g/meta-ti/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to