From: Denys Dmytriyenko <denis@denix.org>
To: Chirag Shilwant <c-shilwant@ti.com>
Cc: Praneeth Bajjuri <praneeth@ti.com>, Ryan Eatmon <reatmon@ti.com>,
meta-ti@lists.yoctoproject.org,
Sai Sree Kartheek Adivi <s-adivi@ti.com>,
Paresh Bhagat <p-bhagat@ti.com>, Khasim <khasim@ti.com>,
Gyan Gupta <g-gupta@ti.com>
Subject: Re: [meta-ti][master/kirkstone][PATCH 1/2] recipes-bsp: u-boot: Add u-boot-mergeconfig.inc to handle fragment u-boot config
Date: Tue, 12 Sep 2023 16:04:03 -0400 [thread overview]
Message-ID: <20230912200403.GH3359@denix.org> (raw)
In-Reply-To: <20230908203004.2764200-1-c-shilwant@ti.com>
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 <c-shilwant@ti.com>
> ---
> 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
next prev parent reply other threads:[~2023-09-12 20:04 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-09-08 20:30 [meta-ti][master/kirkstone][PATCH 1/2] recipes-bsp: u-boot: Add u-boot-mergeconfig.inc to handle fragment u-boot config Chirag Shilwant
2023-09-12 4:14 ` Denys Dmytriyenko
2023-09-12 20:04 ` Denys Dmytriyenko [this message]
2023-09-13 16:42 ` [EXTERNAL] " Chirag Shilwant
2023-09-14 17:08 ` Denys Dmytriyenko
2023-09-14 18:23 ` Ryan Eatmon
2023-09-14 19:42 ` Denys Dmytriyenko
2023-09-14 20:46 ` Ryan Eatmon
2023-09-14 22:24 ` Denys Dmytriyenko
2023-09-15 9:36 ` [EXTERNAL] " Chirag Shilwant
[not found] ` <17843F638C7D08CD.16291@lists.yoctoproject.org>
2023-09-12 21:22 ` Denys Dmytriyenko
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20230912200403.GH3359@denix.org \
--to=denis@denix.org \
--cc=c-shilwant@ti.com \
--cc=g-gupta@ti.com \
--cc=khasim@ti.com \
--cc=meta-ti@lists.yoctoproject.org \
--cc=p-bhagat@ti.com \
--cc=praneeth@ti.com \
--cc=reatmon@ti.com \
--cc=s-adivi@ti.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.