All of lore.kernel.org
 help / color / mirror / Atom feed
From: Simon Glass <sjg@chromium.org>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 14/30] env: common: Factor out the common env_valid check
Date: Sun,  9 Jul 2017 14:52:57 -0600	[thread overview]
Message-ID: <20170709205313.116174-15-sjg@chromium.org> (raw)
In-Reply-To: <20170709205313.116174-1-sjg@chromium.org>

The check for gd->env_valid is used in both the 'if' and 'else' part of
env_get_char(). Move it into that function instead for simplicity. Drop
that code from the two leaf functions.

Signed-off-by: Simon Glass <sjg@chromium.org>
---

 env/common.c | 17 ++++++-----------
 1 file changed, 6 insertions(+), 11 deletions(-)

diff --git a/env/common.c b/env/common.c
index ce6b5f927a..10c4e134f4 100644
--- a/env/common.c
+++ b/env/common.c
@@ -34,25 +34,20 @@ __weak uchar env_get_char_spec(int index)
 
 static uchar env_get_char_init(int index)
 {
-	/* if crc was bad, use the default environment */
-	if (gd->env_valid)
-		return env_get_char_spec(index);
-	else
-		return default_environment[index];
+	return env_get_char_spec(index);
 }
 
 static uchar env_get_char_memory(int index)
 {
-	if (gd->env_valid)
-		return *(uchar *)(gd->env_addr + index);
-	else
-		return default_environment[index];
+	return *(uchar *)(gd->env_addr + index);
 }
 
 uchar env_get_char(int index)
 {
-	/* if relocated to RAM */
-	if (gd->flags & GD_FLG_RELOC)
+	/* if env is not set up, or crc was bad, use the default environment */
+	if (!gd->env_valid)
+		return default_environment[index];
+	else if (gd->flags & GD_FLG_RELOC)  /* if relocated to RAM */
 		return env_get_char_memory(index);
 	else
 		return env_get_char_init(index);
-- 
2.13.2.725.g09c95d1e9-goog

  parent reply	other threads:[~2017-07-09 20:52 UTC|newest]

Thread overview: 44+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-07-09 20:52 [U-Boot] [PATCH 00/30] env: Move environment code to use location drivers Simon Glass
2017-07-09 20:52 ` [U-Boot] [PATCH 01/30] Makefile: Rename 'env' target to 'environ' Simon Glass
2017-07-09 20:52 ` [U-Boot] [PATCH 02/30] Move environment files from common/ to env/ Simon Glass
2017-07-09 20:52 ` [U-Boot] [PATCH 03/30] Convert CONFIG_ENV_IS_IN_MMC et al to Kconfig Simon Glass
2017-07-09 20:52 ` [U-Boot] [PATCH 04/30] env: Move help from README " Simon Glass
2017-07-09 20:52 ` [U-Boot] [PATCH 05/30] Convert CONFIG_ENV_IS_IN_FLASH " Simon Glass
2017-07-10 22:09   ` Daniel Schwierzeck
2017-07-18 14:00     ` Simon Glass
2017-07-18 15:01       ` Daniel Schwierzeck
2017-07-18 16:55         ` Tom Rini
2017-07-09 20:52 ` [U-Boot] [PATCH 06/30] Convert CONFIG_ENV_IS_IN_NVRAM " Simon Glass
2017-07-09 20:52 ` [U-Boot] [PATCH 07/30] Convert CONFIG_ENV_IS_IN_EEPROM " Simon Glass
2017-07-09 20:52 ` [U-Boot] [PATCH 08/30] Convert CONFIG_ENV_IS_IN_DATAFLASH " Simon Glass
2017-07-09 20:52 ` [U-Boot] [PATCH 09/30] Convert CONFIG_ENV_IS_IN_SPI_FLASH " Simon Glass
2017-07-09 20:52 ` [U-Boot] [PATCH 10/30] Convert CONFIG_ENV_IS_IN_REMOTE " Simon Glass
2017-07-09 20:52 ` [U-Boot] [PATCH 11/30] Convert CONFIG_ENV_IS_IN_FAT " Simon Glass
2017-07-09 20:52 ` [U-Boot] [PATCH 12/30] env: common: Make env_get_addr/get_char_memory() static Simon Glass
2017-07-09 20:52 ` [U-Boot] [PATCH 13/30] env: common: Drop env_get_addr() Simon Glass
2017-07-09 20:52 ` Simon Glass [this message]
2017-07-09 20:52 ` [U-Boot] [PATCH 15/30] env: common: Drop env_get_char_init() Simon Glass
2017-07-09 20:52 ` [U-Boot] [PATCH 16/30] env: common: Drop env_get_char_memory() Simon Glass
2017-07-09 20:53 ` [U-Boot] [PATCH 17/30] env: Add an enum for environment state Simon Glass
2017-07-09 20:53 ` [U-Boot] [PATCH 18/30] env: Rename nand env_location to nand_env_location Simon Glass
2017-07-09 20:53 ` [U-Boot] [PATCH 19/30] env: Create a location driver for each location Simon Glass
2017-07-09 20:53 ` [U-Boot] [PATCH 20/30] env: Add a new implementation of environment access Simon Glass
2017-07-09 20:53 ` [U-Boot] [PATCH 21/30] env: Switch over to use environment location drivers Simon Glass
2017-07-09 20:53 ` [U-Boot] [PATCH 22/30] env: Drop common init() functions Simon Glass
2017-07-09 20:53 ` [U-Boot] [PATCH 23/30] env: Drop the env_name_spec global Simon Glass
2017-07-09 20:53 ` [U-Boot] [PATCH 24/30] env: Drop unused env_ptr variables Simon Glass
2017-07-09 20:53 ` [U-Boot] [PATCH 25/30] env: Drop env_init_new() Simon Glass
2017-07-09 20:53 ` [U-Boot] [PATCH 26/30] env: Drop env_get_char_spec() Simon Glass
2017-07-09 20:53 ` [U-Boot] [PATCH 27/30] env: Drop env_relocate_spec() in favour of env_load() Simon Glass
2017-07-09 20:53 ` [U-Boot] [PATCH 28/30] env: Drop saveenv() in favour of env_save() Simon Glass
2017-07-10 20:08   ` Wolfgang Denk
2017-07-12  0:32     ` Simon Glass
2017-07-09 20:53 ` [U-Boot] [PATCH 29/30] env: Adjust the get_char() method to return an int Simon Glass
2017-07-09 20:53 ` [U-Boot] [PATCH 30/30] env: Adjust the load() method to return an error Simon Glass
2017-07-10  8:10 ` [U-Boot] [PATCH 00/30] env: Move environment code to use location drivers Christophe LEROY
2017-07-10 16:38   ` Simon Glass
2017-07-11  7:59     ` Christophe LEROY
2017-07-12  0:32       ` Simon Glass
2017-07-12 12:24 ` Tom Rini
2017-07-13 16:45   ` Simon Glass
2017-07-18  0:56     ` 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=20170709205313.116174-15-sjg@chromium.org \
    --to=sjg@chromium.org \
    --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.