Skip to content

Commit 7b3e70f

Browse files
author
Viswanath Kraleti
committed
linux-qcom-staging: add v6.12 kernel recipe
Add a recipe for the linux-qcom-staging 6.12 kernel. This staging kernel tree includes additional patches on top of the 6.12 kernel, many of which are in the process of being upstreamed. Starting with 6.12, this tree will continue to catch up with the latest releases (6.13, 6.14, etc.), with patches being dropped and rebased in the process. Eventually, all patches from this staging kernel will be available in the mainline kernel. Signed-off-by: Viswanath Kraleti <[email protected]>
1 parent 5d6d23c commit 7b3e70f

File tree

1 file changed

+65
-0
lines changed

1 file changed

+65
-0
lines changed
Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
SECTION = "kernel"
2+
3+
DESCRIPTION = "Linux ${PV} staging kernel for QCOM devices"
4+
LICENSE = "GPL-2.0-only"
5+
LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
6+
7+
inherit kernel
8+
9+
COMPATIBLE_MACHINE = "(qcom)"
10+
11+
LINUX_QCOM_GIT ?= "git://git.codelinaro.org/clo/la/kernel/qcom.git;protocol=https"
12+
SRCBRANCH ?= "qclinux.6.12.y"
13+
SRC_URI = "${LINUX_QCOM_GIT};branch=${SRCBRANCH}"
14+
15+
# To build bleeding edge qcom staging kernel set preferred
16+
# provider of virtual/kernel to 'linux-qcom-staging-tip'
17+
BBCLASSEXTEND = "devupstream:target"
18+
PN:class-devupstream = "linux-qcom-staging-tip"
19+
SRCREV:class-devupstream = "${AUTOREV}"
20+
21+
SRCREV = "10325dc2277dc03687683b9f5f57a472b37de0b4"
22+
PV = "6.12+git"
23+
24+
S = "${WORKDIR}/git"
25+
26+
KERNEL_CONFIG ?= "qcom_defconfig"
27+
28+
# Additional fragment for qcom value add features
29+
KERNEL_CONFIG_FRAGMENTS += " ${S}/arch/arm64/configs/qcom_addons.config"
30+
31+
do_configure:prepend() {
32+
if [ ! -f "${S}/arch/${ARCH}/configs/${KERNEL_CONFIG}" ]; then
33+
bbfatal "KERNEL_CONFIG '${KERNEL_CONFIG}' was specified, but not present in the source tree"
34+
else
35+
cp '${S}/arch/${ARCH}/configs/${KERNEL_CONFIG}' '${B}/.config'
36+
fi
37+
38+
# Check for kernel config fragments. The assumption is that the config
39+
# fragment will be specified with the absolute path. For example:
40+
# * ${WORKDIR}/config1.cfg
41+
# * ${S}/config2.cfg
42+
# Iterate through the list of configs and make sure that you can find
43+
# each one. If not then error out.
44+
# NOTE: If you want to override a configuration that is kept in the kernel
45+
# with one from the OE meta data then you should make sure that the
46+
# OE meta data version (i.e. ${WORKDIR}/config1.cfg) is listed
47+
# after the in kernel configuration fragment.
48+
# Check if any config fragments are specified.
49+
if [ ! -z "${KERNEL_CONFIG_FRAGMENTS}" ]
50+
then
51+
for f in ${KERNEL_CONFIG_FRAGMENTS}
52+
do
53+
# Check if the config fragment was copied into the WORKDIR from
54+
# the OE meta data
55+
if [ ! -e "$f" ]
56+
then
57+
echo "Could not find kernel config fragment $f"
58+
exit 1
59+
fi
60+
done
61+
62+
# Now that all the fragments are located merge them.
63+
( cd ${WORKDIR} && ${S}/scripts/kconfig/merge_config.sh -m -r -O ${B} ${B}/.config ${KERNEL_CONFIG_FRAGMENTS} 1>&2 )
64+
fi
65+
}

0 commit comments

Comments
 (0)