return ret;
}
-static int bootm_find_os(struct cmd_tbl *cmdtp, int flag, int argc,
- char *const argv[])
+/**
+ * bootm_find_os(): Find the OS to boot
+ *
+ * @cmd_name: Command name that started this boot, e.g. "bootm"
+ * @addr_fit: Address and/or FIT specifier (first arg of bootm command)
+ * Return: 0 on success, -ve on error
+ */
+static int bootm_find_os(const char *cmd_name, const char *addr_fit)
{
const void *os_hdr;
#ifdef CONFIG_ANDROID_BOOT_IMAGE
int ret;
/* get kernel image header, start address and length */
- ret = boot_get_kernel(argv[0], &images, &images.os.image_start,
+ ret = boot_get_kernel(addr_fit, &images, &images.os.image_start,
&images.os.image_len, &os_hdr);
if (ret) {
if (ret == -EPROTOTYPE)
- printf("Wrong Image Type for %s command\n",
- cmdtp->name);
+ printf("Wrong Image Type for %s command\n", cmd_name);
printf("ERROR %dE: can't get kernel image!\n", ret);
return 1;
ret = bootm_pre_load(argv[0]);
if (!ret && (states & BOOTM_STATE_FINDOS))
- ret = bootm_find_os(cmdtp, flag, argc, argv);
+ ret = bootm_find_os(cmdtp->name, argv[0]);
if (!ret && (states & BOOTM_STATE_FINDOTHER))
ret = bootm_find_other(cmdtp, flag, argc, argv);