image: Drop some other #ifdefs in image-board.c

Remove all but a few that are difficult, relying on legacy CONFIG options
or optional global_data fields.

Drop the duplicate function name in the comment for boot_get_cmdline().

Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
Simon Glass 2022-08-28 12:32:53 -06:00 committed by Tom Rini
parent 20f5d83fb1
commit 9c2e9128f3
2 changed files with 42 additions and 31 deletions

View File

@ -16,6 +16,7 @@
#include <fpga.h> #include <fpga.h>
#include <image.h> #include <image.h>
#include <init.h> #include <init.h>
#include <log.h>
#include <mapmem.h> #include <mapmem.h>
#include <rtc.h> #include <rtc.h>
#include <watchdog.h> #include <watchdog.h>
@ -172,7 +173,7 @@ void memmove_wd(void *to, void *from, size_t len, ulong chunksz)
if (to == from) if (to == from)
return; return;
#if defined(CONFIG_HW_WATCHDOG) || defined(CONFIG_WATCHDOG) if (IS_ENABLED(CONFIG_HW_WATCHDOG) || IS_ENABLED(CONFIG_WATCHDOG)) {
if (to > from) { if (to > from) {
from += len; from += len;
to += len; to += len;
@ -192,9 +193,9 @@ void memmove_wd(void *to, void *from, size_t len, ulong chunksz)
} }
len -= tail; len -= tail;
} }
#else /* !(CONFIG_HW_WATCHDOG || CONFIG_WATCHDOG) */ } else {
memmove(to, from, len); memmove(to, from, len);
#endif /* CONFIG_HW_WATCHDOG || CONFIG_WATCHDOG */ }
} }
/** /**
@ -551,7 +552,6 @@ int boot_get_ramdisk(int argc, char *const argv[], bootm_headers_t *images,
return 0; return 0;
} }
#if defined(CONFIG_LMB)
/** /**
* boot_ramdisk_high - relocate init ramdisk * boot_ramdisk_high - relocate init ramdisk
* @lmb: pointer to lmb handle, will be used for memory mgmt * @lmb: pointer to lmb handle, will be used for memory mgmt
@ -645,7 +645,6 @@ int boot_ramdisk_high(struct lmb *lmb, ulong rd_data, ulong rd_len,
error: error:
return -1; return -1;
} }
#endif
int boot_get_setup(bootm_headers_t *images, u8 arch, int boot_get_setup(bootm_headers_t *images, u8 arch,
ulong *setup_start, ulong *setup_len) ulong *setup_start, ulong *setup_len)
@ -839,15 +838,13 @@ int boot_get_loadable(int argc, char *const argv[], bootm_headers_t *images,
return 0; return 0;
} }
#if defined(CONFIG_LMB)
#ifdef CONFIG_SYS_BOOT_GET_CMDLINE
/** /**
* boot_get_cmdline - allocate and initialize kernel cmdline * boot_get_cmdline - allocate and initialize kernel cmdline
* @lmb: pointer to lmb handle, will be used for memory mgmt * @lmb: pointer to lmb handle, will be used for memory mgmt
* @cmd_start: pointer to a ulong variable, will hold cmdline start * @cmd_start: pointer to a ulong variable, will hold cmdline start
* @cmd_end: pointer to a ulong variable, will hold cmdline end * @cmd_end: pointer to a ulong variable, will hold cmdline end
* *
* boot_get_cmdline() allocates space for kernel command line below * This allocates space for kernel command line below
* BOOTMAPSZ + env_get_bootm_low() address. If "bootargs" U-Boot environment * BOOTMAPSZ + env_get_bootm_low() address. If "bootargs" U-Boot environment
* variable is present its contents is copied to allocated kernel * variable is present its contents is copied to allocated kernel
* command line. * command line.
@ -858,10 +855,19 @@ int boot_get_loadable(int argc, char *const argv[], bootm_headers_t *images,
*/ */
int boot_get_cmdline(struct lmb *lmb, ulong *cmd_start, ulong *cmd_end) int boot_get_cmdline(struct lmb *lmb, ulong *cmd_start, ulong *cmd_end)
{ {
int barg;
char *cmdline; char *cmdline;
char *s; char *s;
cmdline = (char *)(ulong)lmb_alloc_base(lmb, CONFIG_SYS_BARGSIZE, 0xf, /*
* Help the compiler detect that this function is only called when
* CONFIG_SYS_BOOT_GET_CMDLINE is enabled
*/
if (!IS_ENABLED(CONFIG_SYS_BOOT_GET_CMDLINE))
return 0;
barg = IF_ENABLED_INT(CONFIG_SYS_BOOT_GET_CMDLINE, CONFIG_SYS_BARGSIZE);
cmdline = (char *)(ulong)lmb_alloc_base(lmb, barg, 0xf,
env_get_bootm_mapsize() + env_get_bootm_low()); env_get_bootm_mapsize() + env_get_bootm_low());
if (!cmdline) if (!cmdline)
return -1; return -1;
@ -907,22 +913,22 @@ int boot_get_kbd(struct lmb *lmb, struct bd_info **kbd)
debug("## kernel board info at 0x%08lx\n", (ulong)*kbd); debug("## kernel board info at 0x%08lx\n", (ulong)*kbd);
#if defined(DEBUG) if (_DEBUG && IS_ENABLED(CONFIG_CMD_BDI))
if (IS_ENABLED(CONFIG_CMD_BDI))
do_bdinfo(NULL, 0, 0, NULL); do_bdinfo(NULL, 0, 0, NULL);
#endif
return 0; return 0;
} }
#endif
int image_setup_linux(bootm_headers_t *images) int image_setup_linux(bootm_headers_t *images)
{ {
ulong of_size = images->ft_len; ulong of_size = images->ft_len;
char **of_flat_tree = &images->ft_addr; char **of_flat_tree = &images->ft_addr;
struct lmb *lmb = &images->lmb; struct lmb *lmb = images_lmb(images);
int ret; int ret;
/* This function cannot be called without lmb support */
if (!CONFIG_IS_ENABLED(LMB))
return -EFAULT;
if (CONFIG_IS_ENABLED(OF_LIBFDT)) if (CONFIG_IS_ENABLED(OF_LIBFDT))
boot_fdt_add_mem_rsv_regions(lmb, *of_flat_tree); boot_fdt_add_mem_rsv_regions(lmb, *of_flat_tree);
@ -949,7 +955,6 @@ int image_setup_linux(bootm_headers_t *images)
return 0; return 0;
} }
#endif
void genimg_print_size(uint32_t size) void genimg_print_size(uint32_t size)
{ {

View File

@ -360,6 +360,12 @@ typedef struct bootm_headers {
#endif #endif
} bootm_headers_t; } bootm_headers_t;
#ifdef CONFIG_LMB
#define images_lmb(_images) (&(_images)->lmb)
#else
#define images_lmb(_images) NULL
#endif
extern bootm_headers_t images; extern bootm_headers_t images;
/* /*