On 8/30/2026 1:34 AM, Denys Dmytriyenko wrote:
On Fri, Aug 28, 2026 at 03:54:00PM -0500, Ryan Eatmon wrote:


On 8/28/2026 12:44 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"


+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.


Should this just be part of the linux-ti-staging recipes?  That way
we can correctly only include it in the versions that have this
file?

Yeah, probably the easiest and cleanest approach...



I dropped this patch and instead I added a simple do_install:append() to ti-linux-staging_6.12 recipe.The header doesn't get installed into the rootfs, but I could see it landing in the kernel-dev's ${D} output correctly (arago-tmp-default-glibc/work/j784s4_evm-oe-linux/linux-ti-staging/6.12.57+git/image/usr/include/ti/linux/). It doesn't get installed in the rootfs since kernel-dev package is a build-time-only package.

Since the only consumer of this header is in meta-edgeai, it makes more sense to keep the whole thing self-contained there instead of modifying linux-ti-staging upstream.A linux-ti-staging_6.12.bbappend in that layer can install the header and split it into its own package, and the consuming recipe can RDEPENDS on that package directly. That keeps meta-ti-bsp untouched, ties the header to the recipe that actually needs it, and avoids shipping it into every image that happens to build this kernel.

Saurabh,Puyush let us know your thoughts.

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 (#20314): 
https://lists.yoctoproject.org/g/meta-ti/message/20314
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