On 7/28/20 2:39 PM, Tom Rini wrote: [...] >>> So, I am not sure about this change. Given the whole thread that ends >>> in https://lists.denx.de/pipermail/u-boot/2020-June/417433.html this >>> particular part of the function is being too clever. I think it's >>> intentionally not doing what you're adding right here for some use >>> cases. >> >> Which use-cases ? > > flash specifically sets env_valid to ENV_INVALID and returns 0, and uses > the default environment location, when env is invalid. NAND, when > embedded, sets addr to 0 when invalid, ENV_INVALID and returns 0. > NOWHERE is the real funny case, it says ENV_INVALID and > default_environment and returns 0. > > Which all brings me back to my "too clever" statement. Only REMOTE > ever returns non-zero in it's init function.
Which makes me think there is probably no good way out which would not break one usecase or the other. >>> I think that to cleanly achieve the goals of your series we need >>> to stop letting drv->init be optional so that we then stop doing the >>> particular we're doing with "ENOENT means runs this common code path for >>> many envs". We may also need to make sure the link order in >>> env/Makefile has nowhere first in all cases, rather than just most cases >>> like it does now, with a big comment on why. >> >> So, would it make sense to apply the rest and revisit this patch >> separately (likely with ST on CC) so the writeable list won't miss this >> release ? > > If you're OK with that, yes. Yes, fine.

