mirror of
https://xff.cz/git/u-boot/
synced 2025-11-03 03:46:02 +01:00
spl: Only support bl_len when we have to
Aligning addresses and sizes causes overhead which is unnecessary when we are not loading from block devices. Remove bl_len when it is not needed. For example, on iot2050 we save 144 bytes with this patch (once the rest of this series is applied): add/remove: 0/0 grow/shrink: 0/3 up/down: 0/-144 (-144) Function old new delta spl_load_simple_fit 920 904 -16 load_simple_fit 496 444 -52 spl_spi_load_image 384 308 -76 Total: Before=87431, After=87287, chg -0.16% We use panic() instead of BUILD_BUG_ON in spl_set_bl_len because we still need to be able to compile it for things like mmc_load_image_raw_sector, even if that function will not be used. Signed-off-by: Sean Anderson <seanga2@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
@@ -304,9 +304,34 @@ struct spl_load_info {
|
||||
*/
|
||||
ulong (*read)(struct spl_load_info *load, ulong sector, ulong count,
|
||||
void *buf);
|
||||
#if IS_ENABLED(CONFIG_SPL_LOAD_BLOCK)
|
||||
int bl_len;
|
||||
};
|
||||
|
||||
static inline int spl_get_bl_len(struct spl_load_info *info)
|
||||
{
|
||||
return info->bl_len;
|
||||
}
|
||||
|
||||
static inline void spl_set_bl_len(struct spl_load_info *info, int bl_len)
|
||||
{
|
||||
info->bl_len = bl_len;
|
||||
}
|
||||
#else
|
||||
};
|
||||
|
||||
static inline int spl_get_bl_len(struct spl_load_info *info)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
||||
static inline void spl_set_bl_len(struct spl_load_info *info, int bl_len)
|
||||
{
|
||||
if (bl_len != 1)
|
||||
panic("CONFIG_SPL_LOAD_BLOCK not enabled");
|
||||
}
|
||||
#endif
|
||||
|
||||
/*
|
||||
* We need to know the position of U-Boot in memory so we can jump to it. We
|
||||
* allow any U-Boot binary to be used (u-boot.bin, u-boot-nodtb.bin,
|
||||
|
||||
Reference in New Issue
Block a user