[U-Boot] [PATCH 2/3] env: Don't check CONFIG_ENV_OFFSET_REDUND for SPL build

Tom Rini trini at konsulko.com
Fri Feb 22 16:36:50 UTC 2019


On Fri, Feb 22, 2019 at 03:35:51PM +0000, Martyn Welch wrote:
> On Thu, 2019-02-21 at 22:33 -0500, Tom Rini wrote:
> > On Thu, Feb 21, 2019 at 10:13:42AM +0000, Martyn Welch wrote:
> > 
> > > Currently CONFIG_ENV_OFFSET_REDUND is checked regardless of the
> > > type of
> > > build being performed, but this doesn't seem to be needed in SPL
> > > builds.
> > > 
> > > Don't check this configuration option for SPL builds.
> > > 
> > > Signed-off-by: Martyn Welch <martyn.welch at collabora.com>
> > > ---
> > > 
> > >  env/nand.c | 2 +-
> > >  1 file changed, 1 insertion(+), 1 deletion(-)
> > > 
> > > diff --git a/env/nand.c b/env/nand.c
> > > index 29eda66fad..d0b95f483d 100644
> > > --- a/env/nand.c
> > > +++ b/env/nand.c
> > > @@ -26,7 +26,7 @@
> > >  #if defined(CONFIG_CMD_SAVEENV) && defined(CONFIG_CMD_NAND) && \
> > >  		!defined(CONFIG_SPL_BUILD)
> > >  #define CMD_SAVEENV
> > > -#elif defined(CONFIG_ENV_OFFSET_REDUND)
> > > +#elif defined(CONFIG_ENV_OFFSET_REDUND) &&
> > > !defined(CONFIG_SPL_BUILD)
> > >  #error CONFIG_ENV_OFFSET_REDUND must have CONFIG_CMD_SAVEENV &
> > > CONFIG_CMD_NAND
> > >  #endif
> > 
> > I'm confused.  If we have redundant env, and we have env in nand, we
> > need to know.  That said, I guess this is just a sanity check for
> > build
> > time, and until we have ENV_OFFSET_REDUND (and others) move to
> > Kconfig
> > we can't also delete those #error lines.  Am I at least right about
> > where/how you hit this problem?  Thanks!
> > 
> 
> We are booting the board with an SPL. We can either do this from NAND,
> SDCard or via USB with the boot ROM loader. The boot ROM in the am335x
> can use RNDIS via the USB and thus we use gadget eth from the SPL to
> load the main U-Boot image. To enable CONFIG_SPL_ETH_SUPPORT, we must
> enable CONFIG_SPL_ENV_SUPPORT as the environment is used by the eth
> support, but we don't actually need to have environment variables saved
> in the SPL environment.
> 
> We do however have environment variables saved in the main U-Boot image
> and enable CONFIG_ENV_OFFSET_REDUND (we are storing in raw NAND) and my
> .config shows that both CONFIG_CMD_SAVEENV and CONFIG_CMD_NAND are set,
> they just don't seem to be visible when building the SPL. This didn't
> seem overly odd so haven't looked into why, my assumption was that the
> above combination wasn't widely used and thus the need to avoid the
> check when building the SPL in this instance hadn't been anticipated.
> 
> Am I just looking at this from the wrong angle?

OK, so I think your patch is OK in that yes, for now there's some sanity
checks we do with #errors that should be Kconfig, once things are
migrated fully.  But you may also want CONFIG_ENV_IS_IN_NAND and
CONFIG_SPL_ENV_IS_NOWHERE for CONFIG_SPL_ETH_SUPPORT as that would avoid
this problem and perhaps save you some space?

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20190222/6f822833/attachment.sig>


More information about the U-Boot mailing list