From 99047f5d7f9cb013f7040edd7d20a70cc30646b5 Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Wed, 12 Jan 2022 19:26:22 -0700 Subject: bloblist: Refactor Kconfig to support alloc or fixed At present we do support allocating the bloblist but the Kconfig is a bit strange, since we still have to specify an address in that case. Partly this is because it is a pain to have CONFIG options that disappears when its dependency is enabled. It means that we must have #ifdefs in the code, either in the C code or header file. Make use of IF_ENABLED_INT() and its friend to solve that problem, so we can separate out the location of bloblist into a choice. Put the address and size into variables so we can log the result. Add the options for SPL as well, so we can use CONFIG_IS_ENABLED(). Signed-off-by: Simon Glass --- include/bloblist.h | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'include') diff --git a/include/bloblist.h b/include/bloblist.h index 5de4545160e..13f2b3f1009 100644 --- a/include/bloblist.h +++ b/include/bloblist.h @@ -147,6 +147,16 @@ 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 * -- cgit v1.3.1