[PATCH] env: env_sf: don't set .init op if not needed
Wolfgang Denk
wd at denx.de
Sun Nov 8 14:22:37 CET 2020
Dear Rasmus,
In message <ac9500de-d236-be83-04a8-8f68be1c7672 at prevas.dk> you wrote:
>
> > The CONFIG_ENV_IS_FOO means: if you use "env save", then U-Boot will
> > write the config to external storage using the FOO storage device.
>
> Wolfgang, you're wrong. What you're saying was once true, when the
> location was a "choice" in Kconfig, but it hasn't been that since
> fb69464eae. Nowadays one can select multiple possible backends, and only
> one of them will be used when doing "env save".
I know that. But that slection is made from the selected drivers
enabled by the CONFIG_ENV_IS_* settings.
> Later (208bd2b8), _NOWHERE was made non-mutually-exclusive with the real
> storage targets.
And this is a buf that should be fixed, as it makes no sense at all.
> > If you define CONFIG_ENV_IS_NOWHERE, I would for example expect that
> > all "env save" related code is omitted as we will never need it.
>
> I haven't checked, but that functionality does seem to exist - not
> depending on whether CONFIG_ENV_IS_NOWHERE is not selected, but whether
> any of the CONFIG_ENV_IS_<somehere> is. See the ENV_IS_IN_DEVICE logic
> in cmd/nvedit.c. So if you select CONFIG_ENV_IS_NOWHERE and not any of
> the others, I think the build works as you'd expect.
This is intransparent and error prone. This check must not be
implemented somewhere in the code, but at Kconfig level.
Best regards,
Wolfgang Denk
--
DENX Software Engineering GmbH, Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
Bugs are by far the largest and most successful class of
entity, with nearly a million known species. In this res-
pect they outnumber all the other known creatures about
four to one. -- Professor Snope's Encyclopedia of Animal
More information about the U-Boot
mailing list