18 Jan, 2020

1 commit


03 Dec, 2019

1 commit


21 Nov, 2019

1 commit

  • We have CONFIG_ENV_SIZE_IS_REDUND but don't really use it. We have one
    board where we can simply multiple CONFIG_ENV_SIZE by two for the same
    result. The other place where we could but were not previously using
    this is for where env_internal.h checks for if we should set
    ENV_IS_EMBEDDED. This seems like the most likely use, historically, of
    the variable, but it was not used. Add logic to check for this now.

    Cc: Wolfgang Denk
    Cc: Joe Hershberger
    Signed-off-by: Tom Rini
    Reviewed-by: Simon Glass
    Acked-by: Joe Hershberger

    Tom Rini
     

12 Aug, 2019

4 commits

  • This file contains lots of internal details about the environment. Most
    code can include env.h instead, calling the functions there as needed.

    Rename this file and add a comment at the top to indicate its internal
    nature.

    Signed-off-by: Simon Glass
    Acked-by: Joe Hershberger
    Reviewed-by: Simon Goldschmidt
    [trini: Fixup apalis-tk1.c]
    Signed-off-by: Tom Rini

    Simon Glass
     
  • Add an ENV prefix to these two flags so that it is clear what they relate
    to. Also move them to env.h since they are part of the public API. Use an
    enum rather than a #define to tie them together.

    Signed-off-by: Simon Glass

    Simon Glass
     
  • This enum is somewhat widely used to determine if the environment is valid
    or not. Move it to the common environment header file.

    Signed-off-by: Simon Glass
    Acked-by: Joe Hershberger

    Simon Glass
     
  • The name 'environment' is widely used in U-Boot so is not a very useful
    name of a variable. Rename it to better indicate its purpose.

    Signed-off-by: Simon Glass
    Acked-by: Joe Hershberger
    Reviewed-by: Simon Goldschmidt

    Simon Glass
     

05 Dec, 2018

1 commit


07 May, 2018

1 commit

  • When U-Boot started using SPDX tags we were among the early adopters and
    there weren't a lot of other examples to borrow from. So we picked the
    area of the file that usually had a full license text and replaced it
    with an appropriate SPDX-License-Identifier: entry. Since then, the
    Linux Kernel has adopted SPDX tags and they place it as the very first
    line in a file (except where shebangs are used, then it's second line)
    and with slightly different comment styles than us.

    In part due to community overlap, in part due to better tag visibility
    and in part for other minor reasons, switch over to that style.

    This commit changes all instances where we have a single declared
    license in the tag as both the before and after are identical in tag
    contents. There's also a few places where I found we did not have a tag
    and have introduced one.

    Signed-off-by: Tom Rini

    Tom Rini
     

01 Feb, 2018

1 commit

  • For multiple env drivers to correctly implement fallback when
    one environment fails to load (e.g. crc error), the return value
    of env_import has to be propagated by all env driver's load
    function.

    Without this change, the first driver that succeeds to load an
    environment with an invalid CRC return 0 (success) and no other
    drivers are checked.

    Signed-off-by: Simon Goldschmidt
    Acked-by: Maxime Ripard

    Simon Goldschmidt
     

21 Aug, 2017

1 commit


16 Aug, 2017

3 commits


15 Aug, 2017

3 commits

  • Set up a location driver for each supported environment location. At
    present this just points to the global functions and is not used. A
    later patch will switch this over to use private functions in each driver.

    There are several special cases here in various drivers to handle
    peculiarities of certain boards:

    1. Some boards define CONFIG_ENV_IS_IN_FAT and CONFIG_SPL_ENV_SUPPORT but
    do not actually load the environment in SPL. The env load code was
    optimised out before but with the driver, it is not. Therefore a special
    case is added to env/fat.c. The correct fix (depending on board testing
    might be to disable CONFIG_SPL_ENV_SUPPORT.

    2. A similar situations happens with CONFIG_ENV_IS_IN_FLASH. Some boards
    do not actually load the environment in SPL, so to reduce code size we
    need to drop that code. A similar fix may be possible with these boards,
    or it may be possible to adjust the environment CONFIG settings.

    Added to the above is that the CONFIG_SPL_ENV_SUPPORT option does not
    apply when the environment is in flash.

    Obviously the above has been discovered through painful and time-consuming
    trial and error. Hopefully board maintainers can take a look and figure
    out what is actually needed.

    Signed-off-by: Simon Glass

    Simon Glass
     
  • At present we have three states for the environment, numbered 0, 1 and 2.
    Add an enum to record this to avoid open-coded values.

    Signed-off-by: Simon Glass
    Reviewed-by: Tom Rini

    Simon Glass
     
  • About a quarter of the files in common/ relate to the environment. It
    seems better to put these into their own subdirectory and remove the
    prefix.

    Signed-off-by: Simon Glass
    Reviewed-by: Tom Rini

    Simon Glass