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

Martyn Welch martyn.welch at collabora.com
Fri Feb 22 16:39:17 UTC 2019


On Fri, 2019-02-22 at 11:36 -0500, Tom Rini wrote:
> 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?
> 

Those are already set in the config :-)

Thanks,

Martyn



More information about the U-Boot mailing list