[PATCH v2 18/32] bootm: Reduce arguments to bootm_find_os()
Simon Glass
sjg at chromium.org
Thu Nov 16 05:10:18 CET 2023
This function only uses one argument so pass it in directly.
Signed-off-by: Simon Glass <sjg at chromium.org>
Reviewed-by: Tom Rini <trini at konsulko.com>
---
Changes in v2:
- Fix 'boot_find_os' typo
- Pass in the command name
boot/bootm.c | 17 +++++++++++------
1 file changed, 11 insertions(+), 6 deletions(-)
diff --git a/boot/bootm.c b/boot/bootm.c
index 7aca2bf8146c..922989b9cfcf 100644
--- a/boot/bootm.c
+++ b/boot/bootm.c
@@ -304,8 +304,14 @@ static int bootm_pre_load(const char *addr_str)
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
@@ -316,12 +322,11 @@ static int bootm_find_os(struct cmd_tbl *cmdtp, int flag, int argc,
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;
@@ -987,7 +992,7 @@ int do_bootm_states(struct cmd_tbl *cmdtp, int flag, int argc,
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);
--
2.43.0.rc0.421.g78406f8d94-goog
More information about the U-Boot
mailing list