
Dear Heiko,
In message a80c8548-a8a5-fb98-f9e3-fc659c2bdfec@denx.de you wrote:
I enabled now ENV_APPEND on this board and
CONFIG_ENV_IS_NOWHERE CONFIG_ENV_IS_IN_SPI_FLASH
This gives me the creeps. I know this is not cause by anything in your patch, but anyway...
Apparently the meaning of CONFIG_ENV_IS_NOWHERE is nowhere documented :-(
But common sense says that "IS NOWHERE" means that there is no storage defined for the environment. I would expect, that Kconfig does not even allow to enable any CONFIG_ENV_IS_IN_* when CONFIG_ENV_IS_NOWHERE is selected - these are logically exclusive.
May I suggest that:
1) our Kconfig files are changed such that CONFIG_ENV_IS_NOWHERE and CONFIG_ENV_IS_IN_* are indeed exclusive, so that we adhere to the POLA [1] ?
2) for cases like this one, where there actually _is_ some storage defined, but it shall be used in a non-standard way, a new CONFIG_ option gets created that expresses in it's name what it does?
[1] https://en.wikipedia.org/wiki/Principle_of_least_astonishment
Thanks!
Best regards,
Wolfgang Denk