From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 02983EE3F22 for ; Tue, 12 Sep 2023 20:04:26 +0000 (UTC) Received: from mailout4.zoneedit.com (mailout4.zoneedit.com [64.68.198.64]) by mx.groups.io with SMTP id smtpd.web10.585.1694549054915230024 for ; Tue, 12 Sep 2023 13:04:16 -0700 Authentication-Results: mx.groups.io; dkim=none (message not signed); spf=pass (domain: denix.org, ip: 64.68.198.64, mailfrom: denis@denix.org) Received: from localhost (localhost [127.0.0.1]) by mailout4.zoneedit.com (Postfix) with ESMTP id A83DE40C2A; Tue, 12 Sep 2023 20:04:13 +0000 (UTC) Received: from mailout4.zoneedit.com ([127.0.0.1]) by localhost (zmo14-pco.easydns.vpn [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id eOZYrkeT1tOa; Tue, 12 Sep 2023 20:04:13 +0000 (UTC) Received: from mail.denix.org (pool-100-15-110-236.washdc.fios.verizon.net [100.15.110.236]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mailout4.zoneedit.com (Postfix) with ESMTPSA id 7255C408CD; Tue, 12 Sep 2023 20:04:04 +0000 (UTC) Received: by mail.denix.org (Postfix, from userid 1000) id 8D08D163CAA; Tue, 12 Sep 2023 16:04:03 -0400 (EDT) Date: Tue, 12 Sep 2023 16:04:03 -0400 From: Denys Dmytriyenko To: Chirag Shilwant Cc: Praneeth Bajjuri , Ryan Eatmon , meta-ti@lists.yoctoproject.org, Sai Sree Kartheek Adivi , Paresh Bhagat , Khasim , Gyan Gupta Subject: Re: [meta-ti][master/kirkstone][PATCH 1/2] recipes-bsp: u-boot: Add u-boot-mergeconfig.inc to handle fragment u-boot config Message-ID: <20230912200403.GH3359@denix.org> References: <20230908203004.2764200-1-c-shilwant@ti.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20230908203004.2764200-1-c-shilwant@ti.com> User-Agent: Mutt/1.5.20 (2009-06-14) List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Tue, 12 Sep 2023 20:04:26 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/meta-ti/message/16959 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 > --- > 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