summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorTom Rini <[email protected]>2026-06-02 09:30:33 -0600
committerTom Rini <[email protected]>2026-06-02 09:30:33 -0600
commitb5f2880261e968e031db6f85e549b1a6ea35e8c8 (patch)
tree95f240d4291b1c923cbd14d56502b32a470c7c27 /lib
parent0a46055d96ac627c05180cdeaa187a9fdf6b7973 (diff)
parent5ab1600213608129ea63fc3046f46349515821d6 (diff)
Merge patch series "Clean up bloblist initialization"
Tom Rini <[email protected]> says: This series does a few small but important cleanups to how we check for, and initialize a bloblist. The first thing is that the way things are done today, our HANDOFF code can only work with a fixed bloblist location, so express that requirement in Kconfig. Next, we demote the scary message about "Bloblist at ... not found" to a debug because we most often see that because the bloblist doesn't (and can't) exist yet. Finally, we remove bloblist_maybe_init and split this in to an exists and a real init. This results in practically no growth (between 8 bytes growth to 12 bytes saved, with some outliers saving much more thanks to knowing it's impossible to have been passed a bloblist yet). This also cleans up some of the code around checking for / knowing about a bloblist existing. Link: https://lore.kernel.org/r/[email protected]
Diffstat (limited to 'lib')
-rw-r--r--lib/fdtdec.c15
1 files changed, 5 insertions, 10 deletions
diff --git a/lib/fdtdec.c b/lib/fdtdec.c
index c67b6e8c133..d0a84b5034b 100644
--- a/lib/fdtdec.c
+++ b/lib/fdtdec.c
@@ -1822,17 +1822,12 @@ int fdtdec_setup(void)
int ret = -ENOENT;
/*
- * If allowing a bloblist, check that first. There was discussion about
- * adding an OF_BLOBLIST Kconfig, but this was rejected.
- *
- * The necessary test is whether the previous phase passed a bloblist,
- * not whether this phase creates one.
+ * If allowing a bloblist, check that first. The necessary test is
+ * whether the previous phase passed a bloblist, not whether this phase
+ * creates one.
*/
- if (CONFIG_IS_ENABLED(BLOBLIST) &&
- (xpl_prev_phase() != PHASE_TPL ||
- IS_ENABLED(CONFIG_TPL_BLOBLIST))) {
- ret = bloblist_maybe_init();
- if (!ret) {
+ if (CONFIG_IS_ENABLED(BLOBLIST) && (xpl_phase() > PHASE_TPL)) {
+ if (bloblist_exists()) {
gd->fdt_blob = bloblist_find(BLOBLISTT_CONTROL_FDT, 0);
if (gd->fdt_blob) {
gd->fdt_src = FDTSRC_BLOBLIST;