All of lore.kernel.org
 help / color / mirror / Atom feed
From: Tom Rini <trini@konsulko.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH v2 22/34] env: Add a new implementation of environment access
Date: Wed, 26 Jul 2017 13:23:22 -0400	[thread overview]
Message-ID: <20170726172322.GI26163@bill-the-cat> (raw)
In-Reply-To: <CAPnjgZ0q5GM8VLgJU+eo_VtRN7cUm9vt8akz_A7ADjArOhPC_g@mail.gmail.com>

On Wed, Jul 26, 2017 at 10:32:51AM -0600, Simon Glass wrote:
> Hi Tom,
> 
> On 26 July 2017 at 10:04, Tom Rini <trini@konsulko.com> wrote:
> > On Sun, Jul 23, 2017 at 09:19:57PM -0600, Simon Glass wrote:
> >
> >> We plan to move to a environment access via drivers for each location
> >> where the environment can be stored. Add an implementation for this. So
> >> far it is not used, but will be pressed into service in a future patch.
> >>
> >> Signed-off-by: Simon Glass <sjg@chromium.org>
> > [snip]
> >> +static enum env_location env_get_default_location(void)
> >> +{
> >> +     if IS_ENABLED(CONFIG_ENV_IS_IN_DATAFLASH)
> >> +             return ENVL_DATAFLASH;
> >> +     else if IS_ENABLED(CONFIG_ENV_IS_IN_EEPROM)
> >> +             return ENVL_EEPROM;
> >> +     else if IS_ENABLED(CONFIG_ENV_IS_IN_FAT)
> >> +             return ENVL_FAT;
> >> +     else if IS_ENABLED(CONFIG_ENV_IS_IN_FLASH)
> >> +             return ENVL_FLASH;
> >> +     else if IS_ENABLED(CONFIG_ENV_IS_IN_MMC)
> >> +             return ENVL_MMC;
> >> +     else if IS_ENABLED(CONFIG_ENV_IS_IN_NAND)
> >> +             return ENVL_NAND;
> >> +     else if IS_ENABLED(CONFIG_ENV_IS_IN_NVRAM)
> >> +             return ENVL_NVRAM;
> >> +     else if IS_ENABLED(CONFIG_ENV_IS_IN_REMOTE)
> >> +             return ENVL_REMOTE;
> >> +     else if IS_ENABLED(CONFIG_ENV_IS_IN_SPI_FLASH)
> >> +             return ENVL_SPI_FLASH;
> >> +     else if IS_ENABLED(CONFIG_ENV_IS_IN_UBI)
> >> +             return ENVL_UBI;
> >> +     else if IS_ENABLED(CONFIG_ENV_IS_NOWHERE)
> >> +             return ENVL_NOWHERE;
> >> +     else
> >> +             return ENVL_UNKNOWN;
> >> +}
> >
> > I think the kernel has a few examples of how the Kconfig side of things
> > looks so that you can offer N options and then pick a default one (io
> > scheduler, etc).  We should do that rather than alphabetical IS_ENABLED
> > tests.
> 
> Yes it is possible to have a choice in Kconfig, but for this first
> series I have left it as a option. My plan is to allow the environment
> to be in multiple places in the future, e.g. try using mmc and fall
> back to SPI flash. I think that the environment location should be
> able to be a run-time decision.
> 
> What do you think?

I think run-time decision will be helpful, yeah, but we'll still need a
way to say "this is the default place to start from" at build time and
be explicit about it, rather than rely on link order or "first probed"
or whatever.

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20170726/b51b9418/attachment.sig>

  reply	other threads:[~2017-07-26 17:23 UTC|newest]

Thread overview: 83+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-07-24  3:19 [U-Boot] [PATCH v2 00/34] env: Move environment code to use location drivers Simon Glass
2017-07-24  3:19 ` [U-Boot] [PATCH v2 01/34] configs: Resync with savedefconfig Simon Glass
2017-07-24  3:19 ` [U-Boot] [PATCH v2 02/34] Makefile: Rename 'env' target to 'environ' Simon Glass
2017-07-26 16:13   ` Tom Rini
2017-07-24  3:19 ` [U-Boot] [PATCH v2 03/34] Move environment files from common/ to env/ Simon Glass
2017-07-26 16:13   ` Tom Rini
2017-07-24  3:19 ` [U-Boot] [PATCH v2 04/34] Convert CONFIG_ENV_IS_IN_MMC et al to Kconfig Simon Glass
2017-07-26  1:36   ` Tom Rini
2017-07-24  3:19 ` [U-Boot] [PATCH v2 05/34] env: Move help from README " Simon Glass
2017-07-26  1:36   ` Tom Rini
2017-07-24  3:19 ` [U-Boot] [PATCH v2 06/34] Convert CONFIG_ENV_IS_IN_FLASH " Simon Glass
2017-07-26  1:36   ` Tom Rini
2017-07-24  3:19 ` [U-Boot] [PATCH v2 07/34] Convert CONFIG_ENV_IS_IN_NVRAM " Simon Glass
2017-07-26  1:36   ` Tom Rini
2017-07-24  3:19 ` [U-Boot] [PATCH v2 08/34] Convert CONFIG_ENV_IS_IN_EEPROM " Simon Glass
2017-07-26  1:36   ` Tom Rini
2017-07-24  3:19 ` [U-Boot] [PATCH v2 09/34] Convert CONFIG_ENV_IS_IN_DATAFLASH " Simon Glass
2017-07-26  1:36   ` Tom Rini
2017-07-24  3:19 ` [U-Boot] [PATCH v2 10/34] Convert CONFIG_ENV_IS_IN_SPI_FLASH " Simon Glass
2017-07-26  1:36   ` Tom Rini
2017-07-24  3:19 ` [U-Boot] [PATCH v2 11/34] Convert CONFIG_ENV_IS_IN_REMOTE " Simon Glass
2017-07-26  1:36   ` Tom Rini
2017-07-24  3:19 ` [U-Boot] [PATCH v2 12/34] Convert CONFIG_ENV_IS_IN_FAT " Simon Glass
2017-07-26  1:36   ` Tom Rini
2017-07-24  3:19 ` [U-Boot] [PATCH v2 13/34] Convert CONFIG_ENV_IS_IN_ONENAND " Simon Glass
2017-07-26  1:36   ` Tom Rini
2017-07-24  3:19 ` [U-Boot] [PATCH v2 14/34] env: common: Make env_get_addr/get_char_memory() static Simon Glass
2017-07-26 16:13   ` Tom Rini
2017-07-24  3:19 ` [U-Boot] [PATCH v2 15/34] env: common: Drop env_get_addr() Simon Glass
2017-07-26 16:13   ` Tom Rini
2017-07-24  3:19 ` [U-Boot] [PATCH v2 16/34] env: common: Factor out the common env_valid check Simon Glass
2017-07-26 16:13   ` Tom Rini
2017-07-24  3:19 ` [U-Boot] [PATCH v2 17/34] env: common: Drop env_get_char_init() Simon Glass
2017-07-26 16:14   ` Tom Rini
2017-07-24  3:19 ` [U-Boot] [PATCH v2 18/34] env: common: Drop env_get_char_memory() Simon Glass
2017-07-26 16:14   ` Tom Rini
2017-07-24  3:19 ` [U-Boot] [PATCH v2 19/34] env: Add an enum for environment state Simon Glass
2017-07-26 16:14   ` Tom Rini
2017-07-24  3:19 ` [U-Boot] [PATCH v2 20/34] env: Rename nand env_location to nand_env_location Simon Glass
2017-07-26 16:14   ` Tom Rini
2017-07-24  3:19 ` [U-Boot] [PATCH v2 21/34] env: Create a location driver for each location Simon Glass
2017-07-26 16:02   ` Tom Rini
2017-07-24  3:19 ` [U-Boot] [PATCH v2 22/34] env: Add a new implementation of environment access Simon Glass
2017-07-26 16:04   ` Tom Rini
2017-07-26 16:32     ` Simon Glass
2017-07-26 17:23       ` Tom Rini [this message]
2017-07-26 18:02         ` Simon Glass
2017-07-26 20:13           ` Tom Rini
2017-08-01  9:49             ` Simon Glass
2017-07-24  3:19 ` [U-Boot] [PATCH v2 23/34] env: Switch over to use environment location drivers Simon Glass
2017-07-26 16:14   ` Tom Rini
2017-07-24  3:19 ` [U-Boot] [PATCH v2 24/34] env: Drop common init() functions Simon Glass
2017-07-26 16:14   ` Tom Rini
2017-07-24  3:20 ` [U-Boot] [PATCH v2 25/34] env: Drop the env_name_spec global Simon Glass
2017-07-26 16:14   ` Tom Rini
2017-07-24  3:20 ` [U-Boot] [PATCH v2 26/34] env: Drop unused env_ptr variables Simon Glass
2017-07-26 16:14   ` Tom Rini
2017-07-24  3:20 ` [U-Boot] [PATCH v2 27/34] env: Drop env_init_new() Simon Glass
2017-07-26 16:14   ` Tom Rini
2017-07-24  3:20 ` [U-Boot] [PATCH v2 28/34] env: Drop env_get_char_spec() Simon Glass
2017-07-26 16:15   ` Tom Rini
2017-07-24  3:20 ` [U-Boot] [PATCH v2 29/34] env: Drop env_relocate_spec() in favour of env_load() Simon Glass
2017-07-26 16:15   ` Tom Rini
2017-07-24  3:20 ` [U-Boot] [PATCH v2 30/34] env: Drop saveenv() in favour of env_save() Simon Glass
2017-07-26 16:15   ` Tom Rini
2017-07-24  3:20 ` [U-Boot] [PATCH v2 31/34] env: Rename setenv() and friends to env_set() Simon Glass
2017-07-26 16:11   ` Tom Rini
2017-07-26 16:28     ` Simon Glass
2017-07-26 17:29       ` Tom Rini
2017-07-26 17:43         ` Tom Rini
2017-07-26 18:34           ` Simon Glass
2017-07-26 20:14             ` Tom Rini
2017-07-24  3:20 ` [U-Boot] [PATCH v2 32/34] env: Rename getenv() and friends to env_get() Simon Glass
2017-07-26 16:12   ` Tom Rini
2017-07-24  3:20 ` [U-Boot] [PATCH v2 33/34] env: Adjust the get_char() method to return an int Simon Glass
2017-07-26 16:15   ` Tom Rini
2017-07-24  3:20 ` [U-Boot] [PATCH v2 34/34] env: Adjust the load() method to return an error Simon Glass
2017-07-26 16:15   ` Tom Rini
2017-07-25 17:49 ` [U-Boot] [PATCH v2 00/34] env: Move environment code to use location drivers Tom Rini
2017-07-25 21:40   ` Simon Glass
2017-07-25 21:47     ` Tom Rini
2017-07-26  4:51 ` Masahiro Yamada
2017-07-28  3:40   ` Simon Glass

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20170726172322.GI26163@bill-the-cat \
    --to=trini@konsulko.com \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.