spl: Drop the switch() statement for OS selection

This code is pretty ugly, with many #ifdefs

There are quite a lot of IH_OS_U_BOOT values so the compiler struggles
to create a jump table here. Also, most of the options are normally
disabled.

Change it to an else...if construct instead. Add an accessor for the
spl_image field behind an #ifdef to avoid needing #ifdef in the C code.

Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
Simon Glass
2023-09-26 08:14:22 -06:00
committed by Tom Rini
parent e0be6eaf58
commit f817e08ff2
2 changed files with 19 additions and 22 deletions

View File

@@ -263,6 +263,15 @@ struct spl_image_info {
#endif
};
static inline void *spl_image_fdt_addr(struct spl_image_info *info)
{
#if CONFIG_IS_ENABLED(LOAD_FIT) || CONFIG_IS_ENABLED(LOAD_FIT_FULL)
return info->fdt_addr;
#else
return 0;
#endif
}
/**
* Information required to load data from a device
*