image: Fix up ANDROID_BOOT_IMAGE ramdisk code

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@chromium.org>
This commit is contained in:
Simon Glass 2022-08-28 12:32:46 -06:00 committed by Tom Rini
parent a822b9234b
commit 1ce8e10f3b

View File

@ -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;