Check BLOBLIST_PASSAGE_MANDATORY with CONFIG_IS_ENABLED() so that it only
applies to U-Boot proper. It is part of the bloblist location choice for
U-Boot proper, which has no SPL counterpart, but IS_ENABLED() made SPL
require a devicetree in the incoming bloblist too. SPL uses its own
devicetree when the bloblist has none, even when U-Boot proper must get
its devicetree from the bloblist.

Without an incoming bloblist, SPL now tries to set up its own one, as it
does without BLOBLIST_PASSAGE_MANDATORY. This still fails unless
BLOBLIST_SIZE is set, which defaults to 0 with
BLOBLIST_PASSAGE_MANDATORY.

Fixes: 03a76b1a737f ("bloblist: kconfig for mandatory incoming standard 
passage")
Fixes: 179010694b30 ("lib/fdtdec.c: Disallow overriding 
BLOBLIST_PASSAGE_MANDATORY")
Signed-off-by: David Lechner <[email protected]>
---
 common/bloblist.c | 4 ++--
 lib/fdtdec.c      | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/common/bloblist.c b/common/bloblist.c
index 3804f061f87..85138fe83f3 100644
--- a/common/bloblist.c
+++ b/common/bloblist.c
@@ -613,7 +613,7 @@ bool bloblist_exists(void)
         * If Firmware Handoff is mandatory but no transfer list is
         * observed, report it as an error.
         */
-       if (IS_ENABLED(CONFIG_BLOBLIST_PASSAGE_MANDATORY))
+       if (CONFIG_IS_ENABLED(BLOBLIST_PASSAGE_MANDATORY))
                return false;
 
        /*
@@ -659,7 +659,7 @@ int bloblist_init(void)
         * If Firmware Handoff is mandatory but no transfer list has been
         * observed by fdtdec_setup, report it as an error.
         */
-       if (IS_ENABLED(CONFIG_BLOBLIST_PASSAGE_MANDATORY))
+       if (CONFIG_IS_ENABLED(BLOBLIST_PASSAGE_MANDATORY))
                return -ENOENT;
 
        /*
diff --git a/lib/fdtdec.c b/lib/fdtdec.c
index d25535bf36c..e0b0d4e927d 100644
--- a/lib/fdtdec.c
+++ b/lib/fdtdec.c
@@ -1849,7 +1849,7 @@ int fdtdec_setup(void)
         * If we have bloblist being required to pass the FDT and we reach this
         * point, we have a problem and must exit.
         */
-       if (IS_ENABLED(CONFIG_BLOBLIST_PASSAGE_MANDATORY))
+       if (CONFIG_IS_ENABLED(BLOBLIST_PASSAGE_MANDATORY))
                return ret;
 
        /* Otherwise, the devicetree is typically appended to U-Boot */

-- 
2.53.0

Reply via email to