]> code.ossystems Code Review - openembedded-core.git/commitdiff
kernel-devicetree: Introduce KERNEL_DTC_FLAGS to pass dtc flags
authorOvidiu Panait <ovidiu.panait@windriver.com>
Wed, 23 Dec 2020 13:08:51 +0000 (15:08 +0200)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Tue, 12 Jan 2021 17:43:05 +0000 (17:43 +0000)
Currently DTC_FLAGS kernel makefile parameter can be specified directly on the
command line by adding it to KERNEL_EXTRA_ARGS. However, this prevents
scripts/Makefile.lib logic from appending flags that silence dtc warnings (all
assignments done from within a makefile, to a variable specified on the command
line, are ignored).

Because of this, the do_compile log is cluttered with dtc warnings that should
only be printed when compiling with W="123":
...
/soc: node has a reg or ranges property, but no unit name
/soc/gpu: missing or empty reg/ranges property
/soc/firmware/gpio: missing or empty reg/ranges property
...

To fix this, introduce the dedicated KERNEL_DTC_FLAGS variable to hold
dtc flags and export DTC_FLAGS in the environment before generating the dtbs
(make allows "+=" operations on variables that come from the environment, so
the warnings are silenced properly).

Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/classes/kernel-devicetree.bbclass

index 81dda8003f46313a33de8551726ce46420d4f374..d4f8864200d7ffb13839165e0c40a0182620c5e4 100644 (file)
@@ -9,6 +9,9 @@ FILES_${KERNEL_PACKAGE_NAME}-image-zimage-bundle = "/${KERNEL_IMAGEDEST}/zImage-
 # Generate kernel+devicetree bundle
 KERNEL_DEVICETREE_BUNDLE ?= "0"
 
+# dtc flags passed via DTC_FLAGS env variable
+KERNEL_DTC_FLAGS ?= ""
+
 normalize_dtb () {
        dtb="$1"
        if echo $dtb | grep -q '/dts/'; then
@@ -50,6 +53,10 @@ do_configure_append() {
 }
 
 do_compile_append() {
+       if [ -n "${KERNEL_DTC_FLAGS}" ]; then
+               export DTC_FLAGS="${KERNEL_DTC_FLAGS}"
+       fi
+
        for dtbf in ${KERNEL_DEVICETREE}; do
                dtb=`normalize_dtb "$dtbf"`
                oe_runmake $dtb CC="${KERNEL_CC} $cc_extra " LD="${KERNEL_LD}" ${KERNEL_EXTRA_ARGS}