[PATCH 1/8] image: Fix up ANDROID_BOOT_IMAGE ramdisk code
Simon Glass
sjg at chromium.org
Sun Aug 28 20:32:46 CEST 2022
Convert this to an if(), fix the cast from an address to a pointer and
make sure that any error is returned correctly.
Signed-off-by: Simon Glass <sjg at chromium.org>
---
boot/image-board.c | 17 ++++++++++++-----
1 file changed, 12 insertions(+), 5 deletions(-)
diff --git a/boot/image-board.c b/boot/image-board.c
index 4e4d1c157d7..14b595977e1 100644
--- a/boot/image-board.c
+++ b/boot/image-board.c
@@ -421,12 +421,19 @@ static int select_ramdisk(bootm_headers_t *images, const char *select, u8 arch,
images->fit_noffset_rd = rd_noffset;
break;
#endif
-#ifdef CONFIG_ANDROID_BOOT_IMAGE
case IMAGE_FORMAT_ANDROID:
- android_image_get_ramdisk((void *)images->os.start,
- rd_datap, rd_lenp);
- break;
-#endif
+ if (IS_ENABLED(CONFIG_ANDROID_BOOT_IMAGE)) {
+ void *ptr = map_sysmem(images->os.start, 0);
+ int ret;
+
+ ret = android_image_get_ramdisk(ptr, rd_datap,
+ rd_lenp);
+ unmap_sysmem(ptr);
+ if (ret)
+ return ret;
+ break;
+ }
+ fallthrough;
default:
if (IS_ENABLED(CONFIG_SUPPORT_RAW_INITRD)) {
char *end = NULL;
--
2.37.2.672.g94769d06f0-goog
More information about the U-Boot
mailing list