All of lore.kernel.org
 help / color / mirror / Atom feed
From: Simon Glass <sjg@chromium.org>
To: U-Boot Mailing List <u-boot@lists.denx.de>
Cc: Tom Rini <trini@konsulko.com>,
	Rasmus Villemoes <rasmus.villemoes@prevas.dk>,
	Simon Glass <sjg@chromium.org>
Subject: [PATCH v4 06/13] bloblist: Update to use conditional value
Date: Sun, 16 Jan 2022 13:19:30 -0700	[thread overview]
Message-ID: <20220116131907.v4.6.I63d01b91b59a739a3b9032ae390209bdea6dc6b7@changeid> (raw)
In-Reply-To: <20220116201937.1387697-1-sjg@chromium.org>

Use the new IF_ENABLED_INT() feature to avoid needing our own inline
function to handle this case. Tidy up the logic to ensure that the value
is only used when present. Update the 'expected' comment also.

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

(no changes since v3)

Changes in v3:
- Add new patch to update bloblist to use conditional value

 common/bloblist.c  | 15 +++++++++++----
 include/bloblist.h | 10 ----------
 2 files changed, 11 insertions(+), 14 deletions(-)

diff --git a/common/bloblist.c b/common/bloblist.c
index 056b50c2cb6..406073c8105 100644
--- a/common/bloblist.c
+++ b/common/bloblist.c
@@ -430,18 +430,23 @@ void bloblist_reloc(void *to, uint to_size, void *from, uint from_size)
 
 int bloblist_init(void)
 {
+	bool fixed = IS_ENABLED(CONFIG_BLOBLIST_FIXED);
 	int ret = -ENOENT;
 	ulong addr, size;
 	bool expected;
 
 	/**
-	 * Wed expect to find an existing bloblist in the first phase of U-Boot
-	 * that runs
+	 * We don't expect to find an existing bloblist in the first phase of
+	 * U-Boot that runs. Also we have no way to receive the address of an
+	 * allocated bloblist from a previous stage, so it must be at a fixed
+	 * address.
 	 */
-	expected = !u_boot_first_phase();
+	expected = fixed && !u_boot_first_phase();
 	if (spl_prev_phase() == PHASE_TPL && !IS_ENABLED(CONFIG_TPL_BLOBLIST))
 		expected = false;
-	addr = bloblist_addr();
+	if (fixed)
+		addr = IF_ENABLED_INT(CONFIG_BLOBLIST_FIXED,
+				      CONFIG_BLOBLIST_ADDR);
 	size = CONFIG_BLOBLIST_SIZE;
 	if (expected) {
 		ret = bloblist_check(addr, size);
@@ -460,6 +465,8 @@ int bloblist_init(void)
 			if (!ptr)
 				return log_msg_ret("alloc", -ENOMEM);
 			addr = map_to_sysmem(ptr);
+		} else if (!fixed) {
+			return log_msg_ret("!fixed", ret);
 		}
 		log_debug("Creating new bloblist size %lx at %lx\n", size,
 			  addr);
diff --git a/include/bloblist.h b/include/bloblist.h
index 173129b0273..d0e128acf10 100644
--- a/include/bloblist.h
+++ b/include/bloblist.h
@@ -147,16 +147,6 @@ struct bloblist_rec {
 	u32 spare;
 };
 
-/* access CONFIG_BLOBLIST_ADDR, dealing with it possibly not being defined */
-static inline ulong bloblist_addr(void)
-{
-#ifdef CONFIG_BLOBLIST_FIXED
-	return CONFIG_BLOBLIST_ADDR;
-#else
-	return 0;
-#endif
-}
-
 /**
  * bloblist_check_magic() - return a bloblist if the magic matches
  *
-- 
2.34.1.703.g22d0c6ccf7-goog


  parent reply	other threads:[~2022-01-16 20:20 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-01-16 20:19 [PATCH v4 00/13] kconfig: Add some new macros Simon Glass
2022-01-16 20:19 ` [PATCH v4 01/13] imx: Don't define __ASSEMBLY__ in C files Simon Glass
2022-01-17 13:53   ` Tom Rini
2022-01-19 14:37     ` Simon Glass
2022-01-16 20:19 ` [PATCH v4 02/13] mips: Avoid using config_enabled() directly Simon Glass
2022-01-18 19:47   ` Daniel Schwierzeck
2022-01-16 20:19 ` [PATCH v4 03/13] mmc: fsl: Use brackets around if() Simon Glass
2022-01-16 21:06   ` Sean Anderson
2022-01-16 23:50   ` Jaehoon Chung
2022-01-17 14:26     ` Minkyu Kang
2022-01-16 20:19 ` [PATCH v4 04/13] kconfig: Update IS_ENABLED() internals Simon Glass
2022-01-16 20:19 ` [PATCH v4 05/13] kconfig: Add support for conditional values Simon Glass
2022-01-16 20:19 ` Simon Glass [this message]
2022-01-16 20:19 ` [PATCH v4 07/13] patman: Update test_util to run doc tests Simon Glass
2022-01-16 20:19 ` [PATCH v4 08/13] buildman: Add a flag to control the traceback Simon Glass
2022-01-16 20:19 ` [PATCH v4 09/13] buildman: Make use of test_util Simon Glass
2022-01-16 20:19 ` [PATCH v4 10/13] buildman: Add helper functions for updating .config files Simon Glass
2022-01-16 20:19 ` [PATCH v4 11/13] buildman: Provide a hint on how to debug thread crashes Simon Glass
2022-01-16 20:19 ` [PATCH v4 12/13] buildman: Allow adjusting board config on the fly Simon Glass
2022-01-16 20:19 ` [PATCH v4 13/13] test: Add some tests for kconfig.h 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=20220116131907.v4.6.I63d01b91b59a739a3b9032ae390209bdea6dc6b7@changeid \
    --to=sjg@chromium.org \
    --cc=rasmus.villemoes@prevas.dk \
    --cc=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.