From 46aee252aff82e05f9d8adfd8565c453ed013bff Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Sat, 18 Nov 2023 14:05:13 -0700 Subject: [PATCH] bootm: Simplify Android ramdisk addr in bootm_find_images() The Android mechanism uses the loadaddr envrionment-variable to get the load address, if none is provided. This is equivalent to image_load_addr so use that instead, converting it to a string as needed. This change will permit passing img_addr to this function, in a future change. Signed-off-by: Simon Glass Reviewed-by: Tom Rini --- boot/bootm.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/boot/bootm.c b/boot/bootm.c index aae097df0c..db1466cecf 100644 --- a/boot/bootm.c +++ b/boot/bootm.c @@ -490,15 +490,20 @@ int bootm_find_images(int flag, int argc, char *const argv[], ulong start, ulong size) { const char *select = NULL; + char addr_str[17]; ulong img_addr; void *buf; int ret; + img_addr = argc ? hextoul(argv[0], NULL) : image_load_addr; + if (IS_ENABLED(CONFIG_ANDROID_BOOT_IMAGE)) { /* Look for an Android boot image */ buf = map_sysmem(images.os.start, 0); - if (buf && genimg_get_format(buf) == IMAGE_FORMAT_ANDROID) - select = argc ? argv[0] : env_get("loadaddr"); + if (buf && genimg_get_format(buf) == IMAGE_FORMAT_ANDROID) { + strcpy(addr_str, simple_xtoa(img_addr)); + select = addr_str; + } } if (argc >= 2) @@ -525,7 +530,6 @@ int bootm_find_images(int flag, int argc, char *const argv[], ulong start, } if (CONFIG_IS_ENABLED(OF_LIBFDT)) { - img_addr = argc ? hextoul(argv[0], NULL) : image_load_addr; buf = map_sysmem(img_addr, 0); /* find flattened device tree */ -- 2.39.5