image: Tidy up genimg_get_kernel_addr_fit()

This function does not modify its first argument, so mark it const. Also
move the comments to the header file and expand them to provide more
useful information.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Tom Rini <trini@konsulko.com>
This commit is contained in:
Simon Glass
2023-11-18 14:04:57 -07:00
committed by Tom Rini
parent 7f3b1ee3b2
commit 530cc4797f
3 changed files with 28 additions and 21 deletions

View File

@@ -122,8 +122,7 @@ static const void *boot_get_kernel(struct cmd_tbl *cmdtp, int flag, int argc,
#endif
ulong img_addr;
const void *buf;
const char *fit_uname_config = NULL;
const char *fit_uname_kernel = NULL;
const char *fit_uname_config = NULL, *fit_uname_kernel = NULL;
#if CONFIG_IS_ENABLED(FIT)
int os_noffset;
#endif

View File

@@ -198,22 +198,7 @@ void memmove_wd(void *to, void *from, size_t len, ulong chunksz)
}
}
/**
* genimg_get_kernel_addr_fit - get the real kernel address and return 2
* FIT strings
* @img_addr: a string might contain real image address
* @fit_uname_config: double pointer to a char, will hold pointer to a
* configuration unit name
* @fit_uname_kernel: double pointer to a char, will hold pointer to a subimage
* name
*
* genimg_get_kernel_addr_fit get the real kernel start address from a string
* which is normally the first argv of bootm/bootz
*
* returns:
* kernel start address
*/
ulong genimg_get_kernel_addr_fit(char * const img_addr,
ulong genimg_get_kernel_addr_fit(const char *const img_addr,
const char **fit_uname_config,
const char **fit_uname_kernel)
{

View File

@@ -612,9 +612,32 @@ int boot_get_setup(struct bootm_headers *images, uint8_t arch, ulong *setup_star
#define IMAGE_FORMAT_FIT 0x02 /* new, libfdt based format */
#define IMAGE_FORMAT_ANDROID 0x03 /* Android boot image */
ulong genimg_get_kernel_addr_fit(char * const img_addr,
/**
* genimg_get_kernel_addr_fit() - Parse FIT specifier
*
* Get the real kernel start address from a string which is normally the first
* argv of bootm/bootz
*
* These cases are dealt with, based on the value of @img_addr:
* NULL: Returns image_load_addr, does not set last two args
* "<addr>": Returns address
*
* For FIT:
* "[<addr>]#<conf>": Returns address (or image_load_addr),
* sets fit_uname_config to config name
* "[<addr>]:<subimage>": Returns address (or image_load_addr) and sets
* fit_uname_kernel to the subimage name
*
* @img_addr: a string might contain real image address (or NULL)
* @fit_uname_config: Returns configuration unit name
* @fit_uname_kernel: Returns subimage name
*
* Returns: kernel start address
*/
ulong genimg_get_kernel_addr_fit(const char *const img_addr,
const char **fit_uname_config,
const char **fit_uname_kernel);
ulong genimg_get_kernel_addr(char * const img_addr);
int genimg_get_format(const void *img_addr);
int genimg_has_config(struct bootm_headers *images);