From: Simon Glass <sjg@chromium.org>
To: U-Boot Mailing List <u-boot@lists.denx.de>
Cc: Tom Rini <trini@konsulko.com>,
Ilias Apalodimas <ilias.apalodimas@linaro.org>,
Heinrich Schuchardt <xypron.glpk@gmx.de>,
Simon Glass <sjg@chromium.org>,
Eddie James <eajames@linux.ibm.com>,
Mattijs Korpershoek <mkorpershoek@baylibre.com>,
Safae Ouajih <souajih@baylibre.com>
Subject: [PATCH 10/29] bootm: Reduce arguments to boot_get_kernel()
Date: Sat, 11 Nov 2023 17:08:55 -0700 [thread overview]
Message-ID: <20231112000923.73568-11-sjg@chromium.org> (raw)
In-Reply-To: <20231112000923.73568-1-sjg@chromium.org>
This function only uses one argument and just needs to know the name of
the command which called it. Adjust the function to use only what it
needs. This will make it easier to call from a non-command context.
Tidy up the function comment while we are here.
Signed-off-by: Simon Glass <sjg@chromium.org>
---
boot/bootm.c | 22 +++++++++++++---------
1 file changed, 13 insertions(+), 9 deletions(-)
diff --git a/boot/bootm.c b/boot/bootm.c
index e323c8b758e9..2b986ca71b92 100644
--- a/boot/bootm.c
+++ b/boot/bootm.c
@@ -102,9 +102,14 @@ static struct legacy_img_hdr *image_get_kernel(ulong img_addr, int verify)
#endif
/**
- * boot_get_kernel - find kernel image
+ * boot_get_kernel() - find kernel image
+ *
+ * @cmd_name: Name of the command calling this function, e.g. "bootm"
+ * @addr_fit: first argument to bootm: address, fit configuration, etc.
* @os_data: pointer to a ulong variable, will hold os data start address
* @os_len: pointer to a ulong variable, will hold os data length
+ * address and length, otherwise NULL
+ * pointer to image header if valid image was found, plus kernel start
*
* boot_get_kernel() tries to find a kernel image, verifies its integrity
* and locates kernel data.
@@ -113,8 +118,8 @@ static struct legacy_img_hdr *image_get_kernel(ulong img_addr, int verify)
* pointer to image header if valid image was found, plus kernel start
* address and length, otherwise NULL
*/
-static const void *boot_get_kernel(struct cmd_tbl *cmdtp, int flag, int argc,
- char *const argv[], struct bootm_headers *images,
+static const void *boot_get_kernel(const char *cmd_name, const char *addr_fit,
+ struct bootm_headers *images,
ulong *os_data, ulong *os_len)
{
#if CONFIG_IS_ENABLED(LEGACY_IMAGE_FORMAT)
@@ -131,8 +136,7 @@ static const void *boot_get_kernel(struct cmd_tbl *cmdtp, int flag, int argc,
const void *boot_img;
const void *vendor_boot_img;
#endif
- img_addr = genimg_get_kernel_addr_fit(argc < 1 ? NULL : argv[0],
- &fit_uname_config,
+ img_addr = genimg_get_kernel_addr_fit(addr_fit, &fit_uname_config,
&fit_uname_kernel);
if (IS_ENABLED(CONFIG_CMD_BOOTM_PRE_LOAD))
@@ -169,7 +173,7 @@ static const void *boot_get_kernel(struct cmd_tbl *cmdtp, int flag, int argc,
break;
default:
printf("Wrong Image Type for %s command\n",
- cmdtp->name);
+ cmd_name);
bootstage_error(BOOTSTAGE_ID_CHECK_IMAGETYPE);
return NULL;
}
@@ -223,7 +227,7 @@ static const void *boot_get_kernel(struct cmd_tbl *cmdtp, int flag, int argc,
break;
#endif
default:
- printf("Wrong Image Format for %s command\n", cmdtp->name);
+ printf("Wrong Image Format for %s command\n", cmd_name);
bootstage_error(BOOTSTAGE_ID_FIT_KERNEL_INFO);
return NULL;
}
@@ -312,8 +316,8 @@ static int bootm_find_os(struct cmd_tbl *cmdtp, int flag, int argc,
int ret;
/* get kernel image header, start address and length */
- os_hdr = boot_get_kernel(cmdtp, flag, argc, argv,
- &images, &images.os.image_start, &images.os.image_len);
+ os_hdr = boot_get_kernel("bootm", argv[0], &images,
+ &images.os.image_start, &images.os.image_len);
if (images.os.image_len == 0) {
puts("ERROR: can't get kernel image!\n");
return 1;
--
2.42.0.869.gea05f2083d-goog
next prev parent reply other threads:[~2023-11-12 0:15 UTC|newest]
Thread overview: 60+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-11-12 0:08 [PATCH 00/29] bootm: Refactoring to reduce reliance on CMDLINE (part A) Simon Glass
2023-11-12 0:08 ` [PATCH 01/29] arm: x86: Drop discarding of command linker-lists Simon Glass
2023-11-15 19:55 ` Tom Rini
2023-11-12 0:08 ` [PATCH 02/29] mmc: env: Unify the U_BOOT_ENV_LOCATION conditions Simon Glass
2023-11-15 10:02 ` Heinrich Schuchardt
2023-11-19 14:49 ` Simon Glass
2023-11-21 18:12 ` Tom Rini
2023-11-12 0:08 ` [PATCH 03/29] treewide: Tidy up semicolon after command macros Simon Glass
2023-11-15 19:58 ` Tom Rini
2023-11-12 0:08 ` [PATCH 04/29] bootstd: Add missing header file from bootdev.h Simon Glass
2023-11-12 0:08 ` [PATCH 05/29] bootstd: Introduce programmable boot Simon Glass
2023-11-12 0:08 ` [PATCH 06/29] bootm: Drop arguments from bootm_start() Simon Glass
2023-11-15 22:36 ` Tom Rini
2023-11-12 0:08 ` [PATCH 07/29] bootm: Simplify arguments for bootm_pre_load() Simon Glass
2023-11-15 22:36 ` Tom Rini
2023-11-12 0:08 ` [PATCH 08/29] bootm: Move boot_get_kernel() higher in the file Simon Glass
2023-11-15 22:36 ` Tom Rini
2023-11-12 0:08 ` [PATCH 09/29] image: Tidy up genimg_get_kernel_addr_fit() Simon Glass
2023-11-15 22:36 ` Tom Rini
2023-11-12 0:08 ` Simon Glass [this message]
2023-11-15 22:36 ` [PATCH 10/29] bootm: Reduce arguments to boot_get_kernel() Tom Rini
2023-11-12 0:08 ` [PATCH 11/29] image: Document error codes from fit_image_load() Simon Glass
2023-11-15 22:36 ` Tom Rini
2023-11-12 0:08 ` [PATCH 12/29] bootm: Adjust boot_get_kernel() to return an error Simon Glass
2023-11-15 22:36 ` Tom Rini
2023-11-12 0:08 ` [PATCH 13/29] bootm: Use the error return from boot_get_kernel() Simon Glass
2023-11-15 22:36 ` Tom Rini
2023-11-12 0:08 ` [PATCH 14/29] bootstage: Drop BOOTSTAGE_ID_FIT_KERNEL_INFO Simon Glass
2023-11-15 22:37 ` Tom Rini
2023-11-12 0:09 ` [PATCH 15/29] bootm: Move error printing out of boot_get_kernel() Simon Glass
2023-11-15 22:37 ` Tom Rini
2023-11-12 0:09 ` [PATCH 16/29] bootm: Reduce arguments to boot_find_os() Simon Glass
2023-11-15 22:37 ` Tom Rini
2023-11-12 0:09 ` [PATCH 17/29] bootm: Reduce arguments to boot_get_ramdisk() Simon Glass
2023-11-15 22:37 ` Tom Rini
2023-11-12 0:09 ` [PATCH 18/29] fdt: Allow use of fdt_support inside if() statements Simon Glass
2023-11-15 22:37 ` Tom Rini
2023-11-12 0:09 ` [PATCH 19/29] bootm: Drop #ifdef in bootm_find_images() Simon Glass
2023-11-12 0:09 ` [PATCH 20/29] bootm: Pass image buffer to boot_get_fdt() Simon Glass
2023-11-12 0:09 ` [PATCH 21/29] bootm: Reduce arguments " Simon Glass
2023-11-15 22:37 ` Tom Rini
2023-11-12 0:09 ` [PATCH 22/29] bootm: Reduce arguments to boot_get_fpga() Simon Glass
2023-11-15 22:37 ` Tom Rini
2023-11-12 0:09 ` [PATCH 23/29] bootm: Reduce arguments to boot_get_loadables() Simon Glass
2023-11-15 22:37 ` Tom Rini
2023-11-12 0:09 ` [PATCH 24/29] bootm: Simplify Android ramdisk addr in bootm_find_images() Simon Glass
2023-11-15 22:37 ` Tom Rini
2023-11-12 0:09 ` [PATCH 25/29] bootm: efi: Drop special call to bootm_find_other() Simon Glass
2023-11-12 0:09 ` [PATCH 26/29] bootm: optee: " Simon Glass
2023-11-12 0:09 ` [PATCH 27/29] bootm: Adjust the parameters of bootm_find_images() Simon Glass
2023-11-15 22:38 ` Tom Rini
2023-11-16 1:42 ` Simon Glass
2023-11-16 1:47 ` Tom Rini
2023-11-16 1:56 ` Simon Glass
2023-11-16 2:07 ` Tom Rini
2023-11-16 2:35 ` Simon Glass
2023-11-12 0:09 ` [PATCH 28/29] bootm: Add a function to check overlap Simon Glass
2023-11-15 22:38 ` Tom Rini
2023-11-12 0:09 ` [PATCH 29/29] bootm: Reduce arguments to bootm_find_other() Simon Glass
2023-11-15 22:38 ` Tom Rini
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20231112000923.73568-11-sjg@chromium.org \
--to=sjg@chromium.org \
--cc=eajames@linux.ibm.com \
--cc=ilias.apalodimas@linaro.org \
--cc=mkorpershoek@baylibre.com \
--cc=souajih@baylibre.com \
--cc=trini@konsulko.com \
--cc=u-boot@lists.denx.de \
--cc=xypron.glpk@gmx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox