All of lore.kernel.org
 help / color / mirror / Atom feed
From: Alexander Graf <agraf@suse.de>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH] env: Setup GD_FLG_ENV_DEFAULT flag when default environment are used
Date: Mon, 30 May 2016 21:36:11 +0200	[thread overview]
Message-ID: <574C962B.2090503@suse.de> (raw)
In-Reply-To: <d98b551f1486439220ac04860222b4f1cba5a0f0.1464617510.git.michal.simek@xilinx.com>



On 05/30/2016 04:11 PM, Michal Simek wrote:
> Setup flag when default environment are used to be able to
> rewrite default distro boot variables based on SoC boot mode.
>
> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
> ---
>
> I didn't find any way how to detect that default or saved variables are
> used. I want to have a flag to be able to rewrite boot_targets variable
> based on boot mode. Especially when SD boot mode is setup than SD should
> be primary boot devices, etc.
> When variables are saved boot_targets will be restored and SoC boot mode
> will be ignored.
> If you know better way how to do it, please let me know.

You may want to be able to do the same from inside a script, so I guess 
we should better have this as an environment variable itself again.

There was a way to have environment variable reads return a value 
directly from code rather than go via environment storage. I guess we 
could expose the flag through that?

Or add an environment variable that we set in set_default_env() and 
ignore that variable on saveenv. I'm not sure I like that option better 
than your current one though.


Alex

>
> ---
>   common/env_common.c               | 1 +
>   include/asm-generic/global_data.h | 1 +
>   2 files changed, 2 insertions(+)
>
> diff --git a/common/env_common.c b/common/env_common.c
> index af59c72e1fd7..13db7dc3f755 100644
> --- a/common/env_common.c
> +++ b/common/env_common.c
> @@ -123,6 +123,7 @@ void set_default_env(const char *s)
>   		error("Environment import failed: errno = %d\n", errno);
>   
>   	gd->flags |= GD_FLG_ENV_READY;
> +	gd->flags |= GD_FLG_ENV_DEFAULT;
>   }
>   
>   
> diff --git a/include/asm-generic/global_data.h b/include/asm-generic/global_data.h
> index f2810a1bd75f..0abcbe4c0b3a 100644
> --- a/include/asm-generic/global_data.h
> +++ b/include/asm-generic/global_data.h
> @@ -141,5 +141,6 @@ typedef struct global_data {
>   #define GD_FLG_SPL_INIT		0x00400	/* spl_init() has been called	   */
>   #define GD_FLG_SKIP_RELOC	0x00800	/* Don't relocate */
>   #define GD_FLG_RECORD		0x01000	/* Record console */
> +#define GD_FLG_ENV_DEFAULT	0x02000 /* Default variable flag */
>   
>   #endif /* __ASM_GENERIC_GBL_DATA_H */

  reply	other threads:[~2016-05-30 19:36 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-05-30 14:11 [U-Boot] [PATCH] env: Setup GD_FLG_ENV_DEFAULT flag when default environment are used Michal Simek
2016-05-30 19:36 ` Alexander Graf [this message]
2016-05-31  5:04   ` Michal Simek
2016-05-31  6:39     ` Alexander Graf
2016-05-31  7:40       ` Michal Simek
2016-06-01 14:16         ` Alexander Graf
2016-06-01 14:21           ` Michal Simek
2016-06-01 14:24             ` Alexander Graf
2016-06-06 21:28 ` [U-Boot] " Tom Rini
2016-06-06 21:34   ` Tom Rini

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=574C962B.2090503@suse.de \
    --to=agraf@suse.de \
    --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.