On Sat, Sep 09, 2023 at 02:00:04AM +0530, Chirag Shilwant wrote:
> - Add a new file u-boot-mergeconfig.inc which will ensure we handle fragment 
> u-boot configs
> using a new variable UBOOT_CONFIG_FRAGMENT which stores the name of fragment 
> u-boot config 
> to be used.

Would be nice to provide extra details here in the commit message about config 
fragment support in U-boot and its recipe. E.g.:

* U-boot recipe in OE-Core supports out-of-tree config fragments that are 
passed via SRC_URI and automatically merges all *.cfg files as fragments. 
This makes specifying config fragments in the machine configuration a bit 
difficult.

* U-boot itself supports in-tree config fragments and recently been adding 
fragments with *.config extension (first in configs/ dir, but will be moving 
to the corresponding board/ dir), so adding a way to specify and pass those.


> - Include u-boot-mergeconfig.inc in u-boot-ti.inc
> 
> Signed-off-by: Chirag Shilwant <[email protected]>
> ---
>  meta-ti-bsp/recipes-bsp/u-boot/u-boot-mergeconfig.inc | 7 +++++++
>  meta-ti-bsp/recipes-bsp/u-boot/u-boot-ti.inc          | 1 +
>  2 files changed, 8 insertions(+)
>  create mode 100644 meta-ti-bsp/recipes-bsp/u-boot/u-boot-mergeconfig.inc
> 
> diff --git a/meta-ti-bsp/recipes-bsp/u-boot/u-boot-mergeconfig.inc 
> b/meta-ti-bsp/recipes-bsp/u-boot/u-boot-mergeconfig.inc
> new file mode 100644
> index 00000000..69db6260
> --- /dev/null
> +++ b/meta-ti-bsp/recipes-bsp/u-boot/u-boot-mergeconfig.inc
> @@ -0,0 +1,7 @@
> +do_compile:prepend () {

Should be done in do_configure instead. Tasks should be self-contained and 
granular. Plus, do_compile can be repeated w/o do_configure. If you are 
re-configuring every time and generate a new .config file in do_compile, 
that would probably trigger full re-compile due to make tracking file 
timestamps...


> +   if [ -n "${UBOOT_CONFIG_FRAGMENT}" ]

Multiple fragments are supported, so maybe call it UBOOT_CONFIG_FRAGMENTS 
plural?


> +   then
> +       oe_runmake -C ${S} O=${B} ${UBOOT_MACHINE} ${UBOOT_CONFIG_FRAGMENT}
> +       oe_runmake -C ${S} O=${B} olddefconfig
> +   fi

So, this basically repeats configuration done in u-boot-configure.inc in 
OE-Core. But it also ignores UBOOT_CONFIG support for multiple (def-)configs. 
While I realize you just want to address a single use-case, making it a bit 
future-proof shouldn't be overlooked.

Think of supporting both UBOOT_CONFIG and UBOOT_CONFIG_FRAGMENTS at the same 
time. Probably completely rewriting do_configure from u-boot-configure.inc 
would be needed...

BTW, UBOOT_CONFIG naming is unfortunate - it has nothing to do with config 
fragments. While UBOOT_MACHINE specifies a single defconfig, UBOOT_CONFIG 
takes a list of defconfigs and iterates through them building each separately.


> +}
> diff --git a/meta-ti-bsp/recipes-bsp/u-boot/u-boot-ti.inc 
> b/meta-ti-bsp/recipes-bsp/u-boot/u-boot-ti.inc
> index f3285c23..5292517b 100644
> --- a/meta-ti-bsp/recipes-bsp/u-boot/u-boot-ti.inc
> +++ b/meta-ti-bsp/recipes-bsp/u-boot/u-boot-ti.inc
> @@ -7,6 +7,7 @@ SPL_BINARY ?= "MLO"
>  
>  require ${COREBASE}/meta/recipes-bsp/u-boot/u-boot-common.inc
>  require ${COREBASE}/meta/recipes-bsp/u-boot/u-boot.inc
> +require u-boot-mergeconfig.inc
>  
>  FILESEXTRAPATHS:prepend := "${THISDIR}/u-boot:"
>  
> -- 
> 2.34.1
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#16959): 
https://lists.yoctoproject.org/g/meta-ti/message/16959
Mute This Topic: https://lists.yoctoproject.org/mt/101245468/21656
Group Owner: [email protected]
Unsubscribe: 
https://lists.yoctoproject.org/g/meta-ti/leave/6695321/21656/1393940836/xyzzy 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to